aboutsummaryrefslogtreecommitdiffstats
path: root/tools/eclipse
diff options
context:
space:
mode:
Diffstat (limited to 'tools/eclipse')
-rw-r--r--tools/eclipse/config_wizard/.classpath13
-rw-r--r--tools/eclipse/config_wizard/.project28
-rw-r--r--tools/eclipse/config_wizard/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--tools/eclipse/config_wizard/META-INF/MANIFEST.MF24
-rw-r--r--tools/eclipse/config_wizard/build.properties8
-rw-r--r--tools/eclipse/config_wizard/icons/check.gifbin591 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/icons/chibios.gifbin581 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/icons/generate.gifbin378 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/icons/sample.gifbin983 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/lib/bsh.jarbin281694 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/lib/fmpp.jarbin314020 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/lib/freemarker.jarbin931168 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/lib/jdom-2.0.2.jarbin295355 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/lib/oro.jarbin65261 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/lib/resolver.jarbin60047 -> 0 bytes
-rw-r--r--tools/eclipse/config_wizard/plugin.xml219
-rw-r--r--tools/eclipse/config_wizard/resources/app_templates/c/template.xml82
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/lib/code_snippets.xml50
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/lib/libcode.ftl316
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/lib/liblicense.ftl58
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/lib/libsnippets.ftl33
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/lib/libstm32f4xx.ftl144
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/lib/libutils.ftl109
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.c.ftl101
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.h.ftl326
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.mk.ftl28
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.c.ftl133
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.h.ftl327
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.mk.ftl28
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.c.ftl139
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl327
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.mk.ftl28
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.c.ftl133
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl321
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.mk.ftl28
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/processors/processors.xml26
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/boards/abstract_board.xsd81
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f0xx_board.xsd94
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f3xx_board.xsd100
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f4xx_board.xsd108
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32l1xx_board.xsd81
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/common/code_snippets.xsd59
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/common/config_settings.xsd36
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/common/doc.xsd108
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/schema/common/stm32/stm32_gpiov2_port.xsd214
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/xml/stm32f0board.xml669
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/xml/stm32f3board.xml797
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/xml/stm32f4board.xml1194
-rw-r--r--tools/eclipse/config_wizard/resources/gencfg/xml/stm32l1board.xml799
-rw-r--r--tools/eclipse/config_wizard/src/config_wizard/Activator.java88
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/CheckDescription.java55
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/GenerateFiles.java131
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/process/ApplicationGeneratorProcessRunner.java37
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateEngine.java260
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateException.java30
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizard.java185
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizardPage.java264
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java158
-rw-r--r--tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizardPage.java312
-rw-r--r--tools/eclipse/debug_support/.classpath7
-rw-r--r--tools/eclipse/debug_support/.project28
-rw-r--r--tools/eclipse/debug_support/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--tools/eclipse/debug_support/META-INF/MANIFEST.MF14
-rw-r--r--tools/eclipse/debug_support/build.properties7
-rw-r--r--tools/eclipse/debug_support/contexts.xml12
-rw-r--r--tools/eclipse/debug_support/icons/sample.gifbin983 -> 0 bytes
-rw-r--r--tools/eclipse/debug_support/plugin.xml38
-rw-r--r--tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/activator/Activator.java88
-rw-r--r--tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxy.java582
-rw-r--r--tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxyException.java34
-rw-r--r--tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/HexUtils.java114
-rw-r--r--tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/views/ChibiView.java585
-rw-r--r--tools/eclipse/debug_support/src/org/eclipse/wb/swt/ResourceManager.java415
-rw-r--r--tools/eclipse/debug_support/src/org/eclipse/wb/swt/SWTResourceManager.java447
-rw-r--r--tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.2.1.jarbin1875433 -> 0 bytes
-rw-r--r--tools/eclipse/plugins/org.chibios.tools.eclipse.debug_1.0.8.jarbin34953 -> 0 bytes
-rw-r--r--tools/eclipse/readme.txt16
77 files changed, 0 insertions, 11292 deletions
diff --git a/tools/eclipse/config_wizard/.classpath b/tools/eclipse/config_wizard/.classpath
deleted file mode 100644
index 724303fa9..000000000
--- a/tools/eclipse/config_wizard/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry excluding="**/.svn/" kind="src" path="src"/>
- <classpathentry kind="lib" path="lib/bsh.jar"/>
- <classpathentry kind="lib" path="lib/fmpp.jar"/>
- <classpathentry kind="lib" path="lib/freemarker.jar"/>
- <classpathentry kind="lib" path="lib/oro.jar"/>
- <classpathentry kind="lib" path="lib/resolver.jar"/>
- <classpathentry kind="lib" path="lib/jdom-2.0.2.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tools/eclipse/config_wizard/.project b/tools/eclipse/config_wizard/.project
deleted file mode 100644
index 6611705c5..000000000
--- a/tools/eclipse/config_wizard/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Tool Config Wizard</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/tools/eclipse/config_wizard/.settings/org.eclipse.jdt.core.prefs b/tools/eclipse/config_wizard/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index da0e3846d..000000000
--- a/tools/eclipse/config_wizard/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Mon Jul 30 11:37:30 CEST 2012
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tools/eclipse/config_wizard/META-INF/MANIFEST.MF b/tools/eclipse/config_wizard/META-INF/MANIFEST.MF
deleted file mode 100644
index 37f4f5b08..000000000
--- a/tools/eclipse/config_wizard/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: ChibiOS-RT_Configuration_Support
-Bundle-SymbolicName: org.chibios.tools.eclipse.config;singleton:=true
-Bundle-Version: 1.2.1
-Bundle-Activator: config_wizard.Activator
-Require-Bundle: org.eclipse.core.resources;bundle-version="3.7.101",
- org.eclipse.core.runtime;bundle-version="3.7.0",
- org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.ui.console;bundle-version="3.5.100",
- org.eclipse.ui.ide;bundle-version="3.7.0",
- org.eclipse.cdt.core;bundle-version="5.3.2",
- org.eclipse.cdt.managedbuilder.core;bundle-version="8.0.2",
- org.eclipse.cdt.ui;bundle-version="5.3.2"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Vendor: chibios.org
-Bundle-ClassPath: .,
- lib/jdom-2.0.2.jar,
- lib/freemarker.jar,
- lib/fmpp.jar,
- lib/bsh.jar,
- lib/oro.jar,
- lib/resolver.jar
diff --git a/tools/eclipse/config_wizard/build.properties b/tools/eclipse/config_wizard/build.properties
deleted file mode 100644
index 008ba6d91..000000000
--- a/tools/eclipse/config_wizard/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/,\
- lib/,\
- resources/
diff --git a/tools/eclipse/config_wizard/icons/check.gif b/tools/eclipse/config_wizard/icons/check.gif
deleted file mode 100644
index 18ffabe77..000000000
--- a/tools/eclipse/config_wizard/icons/check.gif
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/icons/chibios.gif b/tools/eclipse/config_wizard/icons/chibios.gif
deleted file mode 100644
index ddbf1e1d1..000000000
--- a/tools/eclipse/config_wizard/icons/chibios.gif
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/icons/generate.gif b/tools/eclipse/config_wizard/icons/generate.gif
deleted file mode 100644
index 55e2d04ad..000000000
--- a/tools/eclipse/config_wizard/icons/generate.gif
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/icons/sample.gif b/tools/eclipse/config_wizard/icons/sample.gif
deleted file mode 100644
index 34fb3c9d8..000000000
--- a/tools/eclipse/config_wizard/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/lib/bsh.jar b/tools/eclipse/config_wizard/lib/bsh.jar
deleted file mode 100644
index 36fe03d71..000000000
--- a/tools/eclipse/config_wizard/lib/bsh.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/lib/fmpp.jar b/tools/eclipse/config_wizard/lib/fmpp.jar
deleted file mode 100644
index 8cb8e6262..000000000
--- a/tools/eclipse/config_wizard/lib/fmpp.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/lib/freemarker.jar b/tools/eclipse/config_wizard/lib/freemarker.jar
deleted file mode 100644
index b13671dac..000000000
--- a/tools/eclipse/config_wizard/lib/freemarker.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/lib/jdom-2.0.2.jar b/tools/eclipse/config_wizard/lib/jdom-2.0.2.jar
deleted file mode 100644
index d540bad66..000000000
--- a/tools/eclipse/config_wizard/lib/jdom-2.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/lib/oro.jar b/tools/eclipse/config_wizard/lib/oro.jar
deleted file mode 100644
index 23488d260..000000000
--- a/tools/eclipse/config_wizard/lib/oro.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/lib/resolver.jar b/tools/eclipse/config_wizard/lib/resolver.jar
deleted file mode 100644
index 073d78967..000000000
--- a/tools/eclipse/config_wizard/lib/resolver.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/config_wizard/plugin.xml b/tools/eclipse/config_wizard/plugin.xml
deleted file mode 100644
index d8c660eea..000000000
--- a/tools/eclipse/config_wizard/plugin.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <!-- Configuration Wizard. -->
- <extension
- point="org.eclipse.ui.newWizards">
- <category
- id="org.chibios.tools.eclipse.config"
- name="ChibiOS/RT">
- </category>
- <wizard
- category="org.chibios.tools.eclipse.config"
- class="org.chibios.tools.eclipse.config.wizards.ConfigurationNewWizard"
- icon="icons/chibios.gif"
- id="org.chibios.tools.eclipse.config.wizards.ConfigurationNewWizard"
- name="ChibiOS/RT Configuration Wizard">
- </wizard>
- <wizard
- category="org.chibios.tools.eclipse.config"
- class="org.chibios.tools.eclipse.config.wizards.NewApplicationProjectWizard"
- icon="icons/chibios.gif"
- id="org.chibios.tools.eclipse.config.wizards.NewApplicationProjectWizard"
- name="ChibiOS/RT New Application Project Wizard">
- </wizard>
- </extension>
-
- <!-- Registers the file extension .chcfg as an XML type. -->
- <extension
- point="org.eclipse.core.contenttype.contentTypes">
- <file-association
- content-type="org.eclipse.core.runtime.xml"
- file-extensions="chcfg">
- </file-association>
- </extension>
-
- <!-- XML catalog extensions. -->
- <extension
- point="org.eclipse.wst.xml.core.catalogContributions">
- <catalogContribution id="default">
- <uri
- name="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd"
- uri="resources/gencfg/schema/boards/stm32f0xx_board.xsd" />
- <uri
- name="http://www.chibios.org/xml/schema/boards/stm32f3xx_board.xsd"
- uri="resources/gencfg/schema/boards/stm32f3xx_board.xsd" />
- <uri
- name="http://www.chibios.org/xml/schema/boards/stm32f4xx_board.xsd"
- uri="resources/gencfg/schema/boards/stm32f4xx_board.xsd" />
- <uri
- name="http://www.chibios.org/xml/schema/boards/stm32l1xx_board.xsd"
- uri="resources/gencfg/schema/boards/stm32l1xx_board.xsd" />
- </catalogContribution>
- </extension>
-
- <!-- Commands. -->
- <extension
- point="org.eclipse.ui.commands">
- <category
- id="org.chibios.tools.eclipse.config.commands.category"
- name="ChibiOS/RT Configuration Category">
- </category>
- <!-- Generate Files command. -->
- <command
- categoryId="org.chibios.tools.eclipse.config.commands.category"
- id="org.chibios.tools.eclipse.config.commands.generateFiles"
- name="Generate Files from Configuration Data">
- </command>
- <!-- Check Configuration Data command. -->
- <command
- categoryId="org.chibios.tools.eclipse.config.commands.category"
- id="org.chibios.tools.eclipse.config.commands.checkDescription"
- name="Check Configuration Data">
- </command>
- </extension>
-
- <!-- Handlers. -->
- <extension
- point="org.eclipse.ui.handlers">
- <!-- Generate Files handler. -->
- <handler
- class="org.chibios.tools.eclipse.config.handlers.GenerateFiles"
- commandId="org.chibios.tools.eclipse.config.commands.generateFiles">
- </handler>
- <!-- Check Configuration Data handler. -->
- <handler
- class="org.chibios.tools.eclipse.config.handlers.CheckDescription"
- commandId="org.chibios.tools.eclipse.config.commands.checkDescription">
- </handler>
- </extension>
-
- <!-- Configuration menu and toolbar. -->
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="menu:org.eclipse.ui.main.menu?after=additions">
- <menu
- id="org.chibios.tools.eclipse.config.menus.configurationMenu"
- label="Configuration"
- mnemonic="M">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IResource">
- <test
- property="org.eclipse.core.resources.extension"
- value="chcfg">
- </test>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- <command
- commandId="org.chibios.tools.eclipse.config.commands.generateFiles"
- id="org.chibios.tools.eclipse.config.menus.generateFiles"
- mnemonic="S">
- </command>
- <command
- commandId="org.chibios.tools.eclipse.config.commands.checkDescription"
- id="org.chibios.tools.eclipse.config.menus.checkDescription"
- mnemonic="S">
- </command>
- </menu>
- </menuContribution>
- <menuContribution
- locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
- <toolbar
- id="org.chibios.tools.eclipse.config.toolbars.sampleToolbar">
- <command
- commandId="org.chibios.tools.eclipse.config.commands.generateFiles"
- icon="icons/generate.gif"
- id="org.chibios.tools.eclipse.config.toolbars.generateFiles"
- tooltip="Generate Files from Configuration Data">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IResource">
- <test
- property="org.eclipse.core.resources.extension"
- value="chcfg">
- </test>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- <command
- commandId="org.chibios.tools.eclipse.config.commands.checkDescription"
- icon="icons/check.gif"
- id="org.chibios.tools.eclipse.config.toolbars.checkDescription"
- tooltip="Check Configuration Data without generating Files">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <count
- value="1">
- </count>
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IResource">
- <test
- property="org.eclipse.core.resources.extension"
- value="chcfg">
- </test>
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </toolbar>
- </menuContribution>
- </extension>
-
- <!-- ChibiOS/RT application generator process type. -->
- <extension
- point="org.eclipse.cdt.core.templateProcessTypes">
- <processType
- name="ApplicationGeneratorProcessRunner"
- processRunner="org.chibios.tools.eclipse.config.process.ApplicationGeneratorProcessRunner">
- <simple
- name="name"/>
- <simple
- name="chibiosLocation"/>
- <simple
- name="platform"/>
- </processType>
- </extension>
-
- <!-- Application templates. -->
- <extension
- point="org.eclipse.cdt.core.templates">
- <template
- filterPattern=".*gcc"
- id="config_wizard.resources.app_templates.c"
- isCategory="false"
- location="resources/app_templates/c/template.xml"
- projectType="org.eclipse.cdt.build.core.buildArtefactType.exe">
- </template>
- </extension>
-
-</plugin>
diff --git a/tools/eclipse/config_wizard/resources/app_templates/c/template.xml b/tools/eclipse/config_wizard/resources/app_templates/c/template.xml
deleted file mode 100644
index 9b2b51fdd..000000000
--- a/tools/eclipse/config_wizard/resources/app_templates/c/template.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<template
- type="ProjTempl"
- version="1.0"
- supplier="chibios.org"
- revision="1.0"
- author="Giovanni Di Sirio"
- id="org.chibios.tools.eclipse.newchibiproject"
- label="ChibiOS/RT C Application"
- description="Template of a ChibiOS/RT C application based on makefiles."
- preview-icon="icons/chibios.gif">
-
- <property-group
- id="application-settings"
- label="Application Settings"
- description="Application Settings"
- type="PAGES-ONLY"
- branding-icon="icons/chibios.gif">
- <property
- id="chibiosLocation"
- label="ChibiOS/RT location"
- description="ChibiOS/RT installation path"
- type="browsedir"
- pattern=".*"
- default=""
- size=""
- mandatory="true"
- hidden="false"
- persist="true" />
- <property
- id="platform"
- label="Platform"
- description="ChibiOS/RT installation path"
- type="select"
- pattern=".*"
- default=""
- size=""
- mandatory="true"
- hidden="false"
- persist="true">
- <item
- value="STM32F0xx"
- label="STMicroelectronics STM32F0xx" />
- <item
- value="STM32F4xx"
- label="STMicroelectronics STM32F4xx" />
- <item
- value="STM32L1xx"
- label="STMicroelectronics STM32L1xx" />
- </property>
- </property-group>
-
- <process type="org.eclipse.cdt.managedbuilder.core.NewManagedProject">
- <simple
- name="name"
- value="$(projectName)" />
- <simple
- name="location"
- value="$(location)" />
- <simple
- name="artifactExtension"
- value="exe" />
- <simple
- name="isCProject"
- value="true" />
- </process>
-
- <!-- Note, type is prefixed by the plugin_id (not the class package). -->
- <process
- type="org.chibios.tools.eclipse.config.ApplicationGeneratorProcessRunner">
- <simple
- name="name"
- value="$(projectName)" />
- <simple
- name="chibiosLocation"
- value="$(chibiosLocation)" />
- <simple
- name="platform"
- value="$(platform)" />
- </process>
-
-</template>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/lib/code_snippets.xml b/tools/eclipse/config_wizard/resources/gencfg/lib/code_snippets.xml
deleted file mode 100644
index 2d0e5959a..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/lib/code_snippets.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Code Templates -->
-<code
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/common/code_snippets.xsd">
- <snippets>
- <snippet>
- <type>thread_body</type>
- <name>Empty</name>
-<text><![CDATA[[#ftl]
-[#macro do_code function]
-
- return 0;
-[/#macro]]]>
-</text>
- </snippet>
- <snippet>
- <type>thread_body</type>
- <name>Checks for Termination</name>
-<text><![CDATA[[#ftl]
-[#ftl]
-[#macro do_code function]
-
- while (!chThdShouldTerminate()) {
- /* Thread activity here. */
- }
- return 0;
-[/#macro]]]>
-</text>
- </snippet>
- <snippet>
- <type>thread_body</type>
- <name>Message Server</name>
-<text><![CDATA[[#ftl]
-[#ftl]
-[#macro do_code function]
-
- while(TRUE) {
- msg_t msg, response;
-
- msg = chMsgWait();
- /* Process the message here then prepare a response. */
- chMsgRelease(response);
- }
- return 0;
-[/#macro]]]>
-</text>
- </snippet>
- </snippets>
-</code>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/lib/libcode.ftl b/tools/eclipse/config_wizard/resources/gencfg/lib/libcode.ftl
deleted file mode 100644
index 45b94a320..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/lib/libcode.ftl
+++ /dev/null
@@ -1,316 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-
-<#--
- -- Coding style global settings.
- -->
-[#assign indentation = " " /]
-[#assign fields_align = 24 /]
-[#assign define_value_align = 36 /]
-[#assign comments_align = 48 /]
-[#assign boundary = 80 /]
-
-[#--
- -- This macro generates a brief description in DoxyGen format.
- --]
-[#macro EmitDoxygenBrief object=[]]
- [#if object.brief[0]??]
-[@utils.FormatStringAsText " * @brief "
- " * "
- utils.WithDot(object.brief[0]?cap_first)
- boundary /]
- [/#if]
-[/#macro]
-
-[#--
- -- This macro generates a detailed description in DoxyGen format.
- --]
-[#macro EmitDoxygenDetails object=[]]
- [#if object.details[0]??]
-[@utils.FormatStringAsText " * @details "
- " * "
- utils.WithDot(object.details[0]?cap_first)
- boundary /]
- [/#if]
-[/#macro]
-
-[#--
- -- This macro generates a notes list in DoxyGen format.
- --]
-[#macro EmitDoxygenNotes object=[]]
- [#list object.* as note]
- [#if note?node_name == "note"]
- [@utils.FormatStringAsText " * @note "
- " * "
- utils.WithDot(note[0]?cap_first)
- boundary /]
- [/#if]
- [/#list]
-[/#macro]
-
-[#--
- -- This macro generates a pre-requisites list in DoxyGen format.
- --]
-[#macro EmitDoxygenPrerequisites object=[]]
- [#list object.* as pre]
- [#if pre?node_name == "pre"]
- [@utils.FormatStringAsText " * @pre "
- " * "
- utils.WithDot(pre[0]?cap_first)
- boundary /]
- [/#if]
- [/#list]
-[/#macro]
-
-[#--
- -- This macro generates a post-requisites list in DoxyGen format.
- --]
-[#macro EmitDoxygenPostrequisites object=[]]
- [#list object.* as post]
- [#if post?node_name == "post"]
- [@utils.FormatStringAsText " * @post "
- " * "
- utils.WithDot(post[0]?cap_first)
- boundary /]
- [/#if]
- [/#list]
-[/#macro]
-
-[#--
- -- This macro generates a complete Doxygen documentation comment.
- --]
-[#macro EmitDoxygenDocumentationComment object=[]]
-/**
- [@code.EmitDoxygenBrief object /]
- [@code.EmitDoxygenDetails object /]
- [@code.EmitDoxygenPrerequisites object /]
- [@code.EmitDoxygenPostrequisites object /]
- [@code.EmitDoxygenNotes object /]
- */
-[/#macro]
-
-[#--
- -- This macro generates the parameters description in DoxyGen format.
- --]
-[#macro EmitDoxygenParams params=[]]
- [#list params as param]
- [#local name = (param.@name[0]!"no-name")?trim /]
- [#local brief = (param.@brief[0]!"")?trim /]
- [#local dir = (param.@dir[0]!"boh")?trim?lower_case /]
- [#if dir == "in"]
-[@utils.FormatStringAsText " * @param[in] "
- " * "
- utils.IntelligentDot(name + " " + brief?uncap_first)
- boundary /]
- [#elseif dir == "out"]
-[@utils.FormatStringAsText " * @param[out] "
- " * "
- utils.IntelligentDot(name + " " + brief?uncap_first)
- boundary /]
- [#elseif dir == "both"]
-[@utils.FormatStringAsText " * @param[in,out] "
- " * "
- utils.IntelligentDot(name + " " + brief?uncap_first)
- boundary /]
- [#elseif dir == "boh"]
-[@utils.FormatStringAsText " * @param "
- " * "
- utils.IntelligentDot(name + " " + brief?uncap_first)
- boundary /]
- [/#if]
- [/#list]
-[/#macro]
-
-[#--
- -- This macro generates a return description followed by a retval list
- -- in DoxyGen format.
- --]
-[#macro EmitDoxygenReturn return=[]]
- [#if return[0]?? && ((return[0].@type[0]!"void")?trim != "void")]
- [#local brief = (return[0].@brief[0]!"")?trim /]
- [#if brief != ""]
-[@utils.FormatStringAsText " * @return "
- " * "
- utils.WithDot(brief?cap_first)
- boundary /]
- [/#if]
- [#list return[0].value as value]
- [#local label = (value.@name[0]!"no-val")?trim /]
- [#local brief = (value.@brief[0]!"")?trim /]
-[@utils.FormatStringAsText " * @retval "
- " * "
- utils.WithDot(label + " " + brief?uncap_first)
- boundary /]
- [/#list]
- [/#if]
-[/#macro]
-
-[#--
- -- This macro generates the inner function code (if present).
- --]
-[#macro EmitCode code=[]]
- [#if function.code[0]?? && (function.code[0]?trim != "")]
-${indentation}${function.code[0]?trim}
- [/#if]
-[/#macro]
-
-[#--
- -- Returns true if the module exports some functions.
- --]
-[#function HasPublicFunctions module=[]]
- [#local flag = false /]
- [#list module.function as function]
- [#if (function.@visibility[0]!"private") == "public"]
- [#local flag = true /]
- [/#if]
- [/#list]
- [#return flag /]
-[/#function]
-
-[#--
- -- Returns true if the module has static functions.
- --]
-[#function HasPrivateFunctions module=[]]
- [#local flag = false /]
- [#list module.function as function]
- [#if (function.@visibility[0]!"private") == "private"]
- [#local flag = true /]
- [/#if]
- [/#list]
- [#return flag /]
-[/#function]
-
-[#--
- -- This macro generates a function prototype from an XML "function"
- -- node passed as parameter.
- -- @note Does not generate the final EOL.
- --]
-[#macro GeneratePrototype function={}]
- [#if function.return?? && function.return[0]??]
- [#local rettype = (function.return[0].@type[0]!"void")?trim /]
- [#else]
- [#local rettype = "void" /]
- [/#if]
- [#local name = (function.@name[0]!"no-name")?trim /]
- [#local visibility = (function.@visibility[0]!"private")?trim /]
- [#if function.param?? && function.param[0]??]
- [#-- If the function has parameters then generates the parameters list --]
- [#local l1 = rettype + " " + name + "(" /]
- [#if visibility == "private"]
- [#local l1 = "static " + l1 /]
- [/#if]
- [#local ln = ""?right_pad(l1?length) /]
- [#list function.param as param]
- [#local type = (param.@type[0]!"no-type")?trim /]
- [#if type?contains("$")]
- [#local pstring = type?replace("$", (param.@name[0]!"no-name")?trim) /]
- [#else]
- [#local pstring = type + " " + (param.@name[0]!"no-name")?trim /]
- [/#if]
- [#local dir = (param.@dir[0]!"boh")?trim?lower_case /]
- [#if dir == "in"]
- [#local pstring = "const " + pstring /]
- [/#if]
- [#if param_index == 0]
- [#local line = l1 + pstring /]
- [#else]
- [#if (line + ", " + pstring + " ")?length > boundary]
-${line + ","}
- [#local line = ln + pstring /]
- [#else]
- [#local line = line + ", " + pstring /]
- [/#if]
- [/#if]
- [/#list]
-${line + ")"}[#rt]
- [#else]
-${rettype + " " + name}(void)[#rt]
- [/#if]
-[/#macro]
-
-[#--
- -- This macro generates a function (and its Doxygen documentation)
- -- from an XML "function" node passed as parameter.
- --]
-[#macro GenerateFunction function={}]
-/**
-[@EmitDoxygenBrief function.@brief /]
-[@EmitDoxygenDetails function.details /]
-[@EmitDoxygenParams function.param /]
-[@EmitDoxygenReturn function.return /]
- *
- * @note --Implementer notes here (or remove the tag)--
- * @bug --Known problems please here (or remove the tag)--
- * @todo --Implement this function (then remove the tag)--
- */
-[@GeneratePrototype function /] {
- [#if function.code[0]??]
- [#-- Makes sure to undef the do_code macro --]
- [#assign inline = "[#ftl][#macro do_code function][/#macro]"?interpret /]
-[@inline /]
- [#-- Interprets the code within the code element --]
- [#assign inline = function.code[0]?interpret /]
-[@inline /]
-[@do_code function /]
- [#else]
-
-${indentation}/* ${function.@name[0]!"no-name"}() Implementation here! */
- [/#if]
-}
-[/#macro]
-
-[#--
- -- Generates the implementations for the private functions in the specified
- -- module.
- --]
-[#macro GeneratePrivateFunctionsImplementations module]
- [#list module.function as function]
- [#if (function.@visibility[0]!"private") == "private"]
-[@code.GenerateFunction function /]
-
- [/#if]
- [/#list]
-[/#macro]
-
-[#--
- -- Generates the prototypes of the public functions in the specified
- -- module.
- --]
-[#macro GeneratePublicFunctionsPrototypes indentation module]
- [#list module.function as function]
- [#if (function.@visibility[0]!"private")?trim == "public"]
-${indentation}[@code.GeneratePrototype function /];
- [/#if]
- [/#list]
-[/#macro]
-
-[#--
- -- Generates the implementations for the public functions in the specified
- -- module.
- --]
-[#macro GeneratePublicFunctionsImplementations module]
- [#list module.function as function]
- [#if (function.@visibility[0]!"private") == "public"]
-[@code.GenerateFunction function /]
-
- [/#if]
- [/#list]
-[/#macro]
diff --git a/tools/eclipse/config_wizard/resources/gencfg/lib/liblicense.ftl b/tools/eclipse/config_wizard/resources/gencfg/lib/liblicense.ftl
deleted file mode 100644
index 18581ee29..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/lib/liblicense.ftl
+++ /dev/null
@@ -1,58 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-
-[#--
- -- Emits the ChibiOS/RT standard license exception text.
- -- The license exception text is indented by 4 spaces.
- --]
-[#macro EmitLicenseExceptionAsText]
-
- ---
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes ChibiOS/RT, without being obliged to provide
- the source code for any proprietary components. See the file exception.txt
- for full details of how and when the exception can be applied.
-[/#macro]
-
-[#--
- -- Emits the ChibiOS/RT standard license text.
- -- The license text is indented by 4 spaces.
- --]
-[#macro EmitLicenseAsText]
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-[/#macro]
diff --git a/tools/eclipse/config_wizard/resources/gencfg/lib/libsnippets.ftl b/tools/eclipse/config_wizard/resources/gencfg/lib/libsnippets.ftl
deleted file mode 100644
index a0680af04..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/lib/libsnippets.ftl
+++ /dev/null
@@ -1,33 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-
-[#--
- -- Find and return a code template from the templates archive.
- --]
-[#function GetThreadCode name]
- [#list doc_snippets.code.snippets.snippet as snippet]
- [#if (snippet.type[0] == "thread_body") &&
- ((snippet.name[0]!"")?trim?lower_case == name?trim?lower_case)]
- [#return snippet.text[0]!"" /]
- [/#if]
- [/#list]
- [#return "/* Thread style not found: " + name + " */" /]
-[/#function]
diff --git a/tools/eclipse/config_wizard/resources/gencfg/lib/libstm32f4xx.ftl b/tools/eclipse/config_wizard/resources/gencfg/lib/libstm32f4xx.ftl
deleted file mode 100644
index 81b8f987c..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/lib/libstm32f4xx.ftl
+++ /dev/null
@@ -1,144 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-
-[#--
- -- Emits the STM32F4xx ADC driver constant configuration structures.
- --]
-[#macro EmitADCConfig config]
- [#local cfg_name = config.name[0]?string /]
- [@code.EmitDoxygenDocumentationComment config /]
-const ADCConfig ${cfg_name} = {0};
-
- [#list config.groups.group as group]
- [#local grpcfg_name = group.name[0]?string /]
- [@code.EmitDoxygenDocumentationComment group /]
-const ADCGroupConfig ${grpcfg_name} = {
- /* Circular conversion flag.*/
- ${group.circular[0]?string?upper_case},
- /* Number of channels sampled in the conversion group.*/
- ${group.channels_sequence.channel?size},
- /* End of conversion callback or NULL.*/
- [#if group.conv_callback[0]?string?trim == ""]
- NULL,
- [#else]
- ${group.conv_callback[0]?string?trim},
- [/#if]
- /* Error callback or NULL.*/
- [#if group.error_callback[0]?string?trim == ""]
- NULL,
- [#else]
- ${group.error_callback[0]?string?trim},
- [/#if]
- /* CR1 register initialization value.*/
- [#local resolution = group.resolution[0]?word_list[0]?number /]
- [#local cr1 = "ADC_CR1_RESOLUTION_N(" + resolution?string + ")" /]
- [#local disc = group.discontinuous[0]?word_list[0]?number /]
- [#if disc > 0]
- [#local cr1 = cr1 + " | ADC_CR1_DISCEN" /]
- [#local cr1 = cr1 + " | ADC_CR1_DISCNUM_N(" + (disc - 1)?string + ")" /]
- [/#if]
- ${cr1},
- /* CR2 register initialization value.*/
- [#local exten = group.trigger_mode[0]?word_list[0]?number /]
- [#local cr2 = "ADC_CR1_EXTEN_N(" + exten?string + ")" /]
- [#local extsel = group.trigger_source[0]?word_list[0]?number /]
- [#local cr2 = cr2 + " | ADC_CR1_EXSEL_N(" + extsel?string + ")" /]
- [#if group.alignment[0]?word_list[0]?number != 0]
- [#local cr2 = cr2 + " | ADC_CR2_ALIGN" /]
- [/#if]
- ${cr2},
- /* Channels sample time settings.*/
- [#local smpr1 = "" /]
- [#local smpr2 = "" /]
- [#list group.sample_time.* as input]
- [#local sinput = input?node_name]
- [#if input_index < 9]
- [#local smpr2 = smpr2 + "ADC_SMPR2_SMP_" + input?node_name +
- "(" + input?string + ") | " /]
- [#elseif input_index == 9]
- [#local smpr2 = smpr2 + "ADC_SMPR2_SMP_" + input?node_name +
- "(" + input?string + ")," /]
- [#elseif input_index < 18]
- [#local smpr1 = smpr1 + "ADC_SMPR1_SMP_" + input?node_name +
- "(" + input?string + ") | " /]
- [#else]
- [#local smpr1 = smpr1 + "ADC_SMPR1_SMP_" + input?node_name +
- "(" + input?string + ")," /]
- [/#if]
- [/#list]
- [@utils.FormatStringAsText " " " " smpr1 80 /]
- [@utils.FormatStringAsText " " " " smpr2 80 /]
- /* Channels sequence.*/
- [#local sqr1 = "ADC_SQR1_NUM_CH(" + group.channels_sequence?size + ")" /]
- [#local sqr2 = "" /]
- [#local sqr3 = "" /]
- [#list group.channels_sequence.channel as channel]
- [#if channel_index <= 5]
- [#local sqr3 = sqr3 + "ADC_SQR3_SQ" + (channel_index + 1) +
- "_N(" + channel + ")" /]
- [#if channel_has_next && channel_index < 5]
- [#local sqr3 = sqr3 + " | " /]
- [/#if]
- [#elseif channel_index <= 11]
- [#local sqr2 = sqr2 + "ADC_SQR2_SQ" + (channel_index + 1) +
- "_N(" + channel + ")" /]
- [#if channel_has_next && channel_index < 11]
- [#local sqr2 = sqr2 + " | " /]
- [/#if]
- [#else]
- [#local sqr1 = sqr1 + " | ADC_SQR2_SQ" + (channel_index + 1) +
- "_N(" + channel + ")" /]
- [/#if]
- [/#list]
- [#-- SQR2 could be empty.--]
- [#if sqr2 == ""]
- [#local sqr2 = "0" /]
- [/#if]
- [#local sqr1 = sqr1 + "," /]
- [#local sqr2 = sqr2 + "," /]
- [@utils.FormatStringAsText " " " " sqr1 80 /]
- [@utils.FormatStringAsText " " " " sqr2 80 /]
- [@utils.FormatStringAsText " " " " sqr3 80 /]
-};
- [/#list]
-[/#macro]
-
-[#--
- -- Emits the STM32F4xx ADC driver configuration external declarations.
- --]
-[#macro EmitADCConfigExtern config]
- [#local cfg_name = config.name[0]?string /]
- [#list config.groups.group as group]
- [#local grpcfg_name = group.name[0]?string /]
- [#-- Only emits the comment if there is at least a callback defined.--]
- /* ADC configuration "${cfg_name}".*/
- extern const ADCConfig ${cfg_name};
- /* ADC conversion group "${grpcfg_name}".*/
- extern const ADCGroupConfig ${grpcfg_name};
- [#if group.conv_callback[0]?string?trim != ""]
- void ${group.conv_callback[0]?string?trim}(ADCDriver *, adcsample_t *, size_t);
- [/#if]
- [#if group.error_callback[0]?string?trim != ""]
- void ${group.error_callback[0]?string?trim}(ADCDriver *, adcerror_t);
- [/#if]
-
- [/#list]
-[/#macro]
diff --git a/tools/eclipse/config_wizard/resources/gencfg/lib/libutils.ftl b/tools/eclipse/config_wizard/resources/gencfg/lib/libutils.ftl
deleted file mode 100644
index 03b0622a3..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/lib/libutils.ftl
+++ /dev/null
@@ -1,109 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-
-[#--
- -- Returns the trimmed text "s" making sure it is terminated by a dot.
- -- The empty string is always returned as an empty string, the dot is not
- -- added.
- --]
-[#function WithDot s]
- [#local s = s?trim /]
- [#if s == ""]
- [#return s /]
- [/#if]
- [#if s?ends_with(".")]
- [#return s /]
- [/#if]
- [#return s + "." /]
-[/#function]
-
-[#--
- -- Returns the trimmed text "s" making sure it is not terminated by a dot.
- --]
-[#function WithoutDot s]
- [#local s = s?trim /]
- [#if s?ends_with(".")]
- [#return s?substring(0, s?length - 2) /]
- [/#if]
- [#return s /]
-[/#function]
-
-[#--
- -- Returns the trimmed text "s" making sure it is terminated by a dot if the
- -- text is composed of multiple phrases, if the text is composed of a single
- -- phrase then makes sure it is *not* terminated by a dot.
- -- A phrase is recognized by the pattern ". " into the text.
- -- The empty string is always returned as an empty string, the dot is never
- -- added.
- --]
-[#function IntelligentDot s]
- [#local s = s?trim /]
- [#if s?contains(". ")]
- [#return WithDot(s) /]
- [/#if]
- [#return WithoutDot(s) /]
-[/#function]
-
-[#--
- -- Formats a text string in a sequence of strings no longer than "len" (first
- -- line) or "lenn" (subsequent lines).
- -- White spaces are normalized between words, sequences of white spaces become
- -- a single space.
- --]
-[#function StringToText len1 lenn s]
- [#local words=s?word_list /]
- [#local line="" /]
- [#local lines=[] /]
- [#list words as word]
- [#if lines?size == 0]
- [#local len = len1 /]
- [#else]
- [#local len = lenn /]
- [/#if]
- [#if (line?length + word?length + 1 > len)]
- [#local lines = lines + [line?trim] /]
- [#local line = word + " " /]
- [#else]
- [#local line = line + word + " " /]
- [/#if]
- [/#list]
- [#if line != ""]
- [#local lines = lines + [line?trim] /]
- [/#if]
- [#return lines /]
-[/#function]
-
-[#--
- -- Emits a string "s" as a formatted text, the first line is prefixed by the
- -- "p1" parameter, subsequent lines are prefixed by the "pn" paramenter.
- -- Emitted lines are no longer than the "len" parameter.
- -- White spaces are normalized between words.
- --]
-[#macro FormatStringAsText p1 pn s len]
- [#local lines = StringToText(len - p1?length, len - pn?length, s) /]
- [#list lines as line]
- [#if line_index == 0]
-${p1}${line}
- [#else]
-${pn}${line}
- [/#if]
- [/#list]
-[/#macro]
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.c.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.c.ftl
deleted file mode 100644
index 22510cb2b..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.c.ftl
+++ /dev/null
@@ -1,101 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.c" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config =
-{
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
- {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
- VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}
-};
-#endif
-
-/**
- * @brief Early initialization code.
- * @details This initialization must be performed just after stack setup
- * and before any other initialization.
- */
-void __early_init(void) {
-
- stm32_clock_init();
-[#if doc1.board.board_functions.__early_init[0]??]
- ${doc1.board.board_functions.__early_init[0]}
-[/#if]
-}
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.mmc_lld_is_card_inserted[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.mmc_lld_is_write_protected[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.h.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.h.ftl
deleted file mode 100644
index 6eb360b6c..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.h.ftl
+++ /dev/null
@@ -1,326 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.h" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for ${doc1.board.board_name[0]} board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_${doc1.board.board_id[0]}
-#define BOARD_NAME "${doc1.board.board_name[0]}"
-
-[#if doc1.board.ethernet_phy[0]??]
-/*
- * Ethernet PHY type.
- */
-#define BOARD_PHY_ID ${doc1.board.ethernet_phy.identifier[0]}
-[#if doc1.board.ethernet_phy.bus_type[0]?string == "RMII"]
-#define BOARD_PHY_RMII
-[/#if]
-
-[/#if]
-/*
- * Board oscillators-related settings.
-[#if doc1.board.clocks.@LSEFrequency[0]?number == 0]
- * NOTE: LSE not fitted.
-[/#if]
-[#if doc1.board.clocks.@HSEFrequency[0]?number == 0]
- * NOTE: HSE not fitted.
-[/#if]
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK ${doc1.board.clocks.@LSEFrequency[0]}
-#endif
-
-[#if doc1.board.clocks.@LSEBypass[0]?string == "true"]
-#define STM32_LSE_BYPASS
-
-[/#if]
-#define STM32_LSEDRV (${doc1.board.clocks.@LSEDrive[0]?word_list[0]?number} << 3)
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK ${doc1.board.clocks.@HSEFrequency[0]}
-#endif
-
-[#if doc1.board.clocks.@HSEBypass[0]?string == "true"]
-#define STM32_HSE_BYPASS
-
-[/#if]
-/*
- * MCU type as defined in the ST header file stm32f0xx.h.
- */
-#define STM32F0XX
-
-/*
- * IO pins assignments.
- */
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
-#define ${(port_name + "_" + name)?right_pad(27, " ")} ${pin_index?string}
- [/#list]
-
-[/#list]
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_2M(n) (0U << ((n) * 2))
-#define PIN_OSPEED_10M(n) (1U << ((n) * 2))
-#define PIN_OSPEED_40M(n) (3U << ((n) * 2))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2))
-#define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4))
-
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
-/*
- * ${port_name} setup:
- *
- [#-- Generating pin descriptions inside the comment.--]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#assign type = pin.@Type[0] /]
- [#assign resistor = pin.@Resistor[0] /]
- [#assign speed = pin.@Speed[0] /]
- [#assign alternate = pin.@Alternate[0] /]
- [#if mode == "Input"]
- [#assign desc = mode + " " + resistor /]
- [#elseif mode == "Output"]
- [#assign desc = mode + " " + type + " " + speed /]
- [#elseif mode == "Alternate"]
- [#assign desc = mode + " " + alternate /]
- [#else]
- [#assign desc = "Analog" /]
- [/#if]
- * P${(port?node_name[4..] + pin_index?string)?right_pad(3, " ")} - ${name?right_pad(26, " ")}(${desc?lower_case}).
- [/#list]
- */
- [#--
- -- Generating MODER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#if mode == "Input"]
- [#assign out = "PIN_MODE_INPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Output"]
- [#assign out = "PIN_MODE_OUTPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Alternate"]
- [#assign out = "PIN_MODE_ALTERNATE(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_MODE_ANALOG(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_MODER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating OTYPER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign type = pin.@Type[0] /]
- [#if type == "PushPull"]
- [#assign out = "PIN_OTYPE_PUSHPULL(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OTYPE_OPENDRAIN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OTYPER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating SPEEDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign speed = pin.@Speed[0] /]
- [#if speed == "Minimum"]
- [#assign out = "PIN_OSPEED_2M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "Low"]
- [#assign out = "PIN_OSPEED_2M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "High"]
- [#assign out = "PIN_OSPEED_10M(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OSPEED_40M(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OSPEEDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating PUPDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign resistor = pin.@Resistor[0] /]
- [#if resistor == "Floating"]
- [#assign out = "PIN_PUPDR_FLOATING(" + port_name + "_" + name + ")" /]
- [#elseif resistor == "PullUp"]
- [#assign out = "PIN_PUPDR_PULLUP(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_PUPDR_PULLDOWN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_PUPDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating ODR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign level = pin.@Level[0] /]
- [#if level == "Low"]
- [#assign out = "PIN_ODR_LOW(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_ODR_HIGH(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_ODR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating AFRx registers values.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign alternate = pin.@Alternate[0]?trim /]
- [#assign out = "PIN_AFIO_AF(" + port_name + "_" + name + ", " + alternate + ")" /]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_AFRL (" + out /]
- [#elseif pin_index == 8]
- [#assign line = "#define VAL_" + port_name + "_AFRH (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if (pin_index == 7) || (pin_index == 15)]
-${line + ")"}
- [#else]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [/#if]
- [/#list]
-
-[/#list]
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.mk.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.mk.ftl
deleted file mode 100644
index c88471ac3..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f0xx/templates/board.mk.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[@pp.changeOutputFile name="board.mk" /]
-# List of all the board related files.
-BOARDSRC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}/board.c
-
-# Required include directories
-BOARDINC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.c.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.c.ftl
deleted file mode 100644
index 03a4df8c3..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.c.ftl
+++ /dev/null
@@ -1,133 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.c" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config =
-{
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
- {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
- VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
- {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
- VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}
-};
-#endif
-
-/**
- * @brief Early initialization code.
- * @details This initialization must be performed just after stack setup
- * and before any other initialization.
- */
-void __early_init(void) {
-
- stm32_clock_init();
-[#if doc1.board.board_functions.__early_init[0]??]
- ${doc1.board.board_functions.__early_init[0]}
-[/#if]
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief SDC card detection.
- */
-bool_t sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-[#if doc1.board.board_functions.sdc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.sdc_lld_is_card_inserted[0]}
-[#else]
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief SDC card write protection detection.
- */
-bool_t sdc_lld_is_write_protected(SDCDriver *sdcp) {
-[#if doc1.board.board_functions.sdc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.sdc_lld_is_write_protected[0]}
-[#else]
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.mmc_lld_is_card_inserted[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.mmc_lld_is_write_protected[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.h.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.h.ftl
deleted file mode 100644
index da8169026..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.h.ftl
+++ /dev/null
@@ -1,327 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.h" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for ${doc1.board.board_name[0]} board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_${doc1.board.board_id[0]}
-#define BOARD_NAME "${doc1.board.board_name[0]}"
-
-[#if doc1.board.ethernet_phy[0]??]
-/*
- * Ethernet PHY type.
- */
-#define BOARD_PHY_ID ${doc1.board.ethernet_phy.identifier[0]}
-[#if doc1.board.ethernet_phy.bus_type[0]?string == "RMII"]
-#define BOARD_PHY_RMII
-[/#if]
-
-[/#if]
-/*
- * Board oscillators-related settings.
-[#if doc1.board.clocks.@LSEFrequency[0]?number == 0]
- * NOTE: LSE not fitted.
-[/#if]
-[#if doc1.board.clocks.@HSEFrequency[0]?number == 0]
- * NOTE: HSE not fitted.
-[/#if]
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK ${doc1.board.clocks.@LSEFrequency[0]}
-#endif
-
-[#if doc1.board.clocks.@LSEBypass[0]?string == "true"]
-#define STM32_LSE_BYPASS
-
-[/#if]
-#define STM32_LSEDRV (${doc1.board.clocks.@LSEDrive[0]?word_list[0]?number} << 3)
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK ${doc1.board.clocks.@HSEFrequency[0]}
-#endif
-
-[#if doc1.board.clocks.@HSEBypass[0]?string == "true"]
-#define STM32_HSE_BYPASS
-
-[/#if]
-/*
- * MCU type as defined in the ST header file stm32f30x.h.
- */
-#define STM32F30X
-
-/*
- * IO pins assignments.
- */
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
-#define ${(port_name + "_" + name)?right_pad(27, " ")} ${pin_index?string}
- [/#list]
-
-[/#list]
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_2M(n) (0U << ((n) * 2))
-#define PIN_OSPEED_25M(n) (1U << ((n) * 2))
-#define PIN_OSPEED_50M(n) (2U << ((n) * 2))
-#define PIN_OSPEED_100M(n) (3U << ((n) * 2))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2))
-#define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4))
-
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
-/*
- * ${port_name} setup:
- *
- [#-- Generating pin descriptions inside the comment.--]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#assign type = pin.@Type[0] /]
- [#assign resistor = pin.@Resistor[0] /]
- [#assign speed = pin.@Speed[0] /]
- [#assign alternate = pin.@Alternate[0] /]
- [#if mode == "Input"]
- [#assign desc = mode + " " + resistor /]
- [#elseif mode == "Output"]
- [#assign desc = mode + " " + type + " " + speed /]
- [#elseif mode == "Alternate"]
- [#assign desc = mode + " " + alternate /]
- [#else]
- [#assign desc = "Analog" /]
- [/#if]
- * P${(port?node_name[4..] + pin_index?string)?right_pad(3, " ")} - ${name?right_pad(26, " ")}(${desc?lower_case}).
- [/#list]
- */
- [#--
- -- Generating MODER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#if mode == "Input"]
- [#assign out = "PIN_MODE_INPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Output"]
- [#assign out = "PIN_MODE_OUTPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Alternate"]
- [#assign out = "PIN_MODE_ALTERNATE(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_MODE_ANALOG(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_MODER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating OTYPER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign type = pin.@Type[0] /]
- [#if type == "PushPull"]
- [#assign out = "PIN_OTYPE_PUSHPULL(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OTYPE_OPENDRAIN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OTYPER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating SPEEDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign speed = pin.@Speed[0] /]
- [#if speed == "Minimum"]
- [#assign out = "PIN_OSPEED_2M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "Low"]
- [#assign out = "PIN_OSPEED_25M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "High"]
- [#assign out = "PIN_OSPEED_50M(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OSPEED_100M(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OSPEEDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating PUPDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign resistor = pin.@Resistor[0] /]
- [#if resistor == "Floating"]
- [#assign out = "PIN_PUPDR_FLOATING(" + port_name + "_" + name + ")" /]
- [#elseif resistor == "PullUp"]
- [#assign out = "PIN_PUPDR_PULLUP(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_PUPDR_PULLDOWN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_PUPDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating ODR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign level = pin.@Level[0] /]
- [#if level == "Low"]
- [#assign out = "PIN_ODR_LOW(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_ODR_HIGH(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_ODR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating AFRx registers values.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign alternate = pin.@Alternate[0]?trim /]
- [#assign out = "PIN_AFIO_AF(" + port_name + "_" + name + ", " + alternate + ")" /]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_AFRL (" + out /]
- [#elseif pin_index == 8]
- [#assign line = "#define VAL_" + port_name + "_AFRH (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if (pin_index == 7) || (pin_index == 15)]
-${line + ")"}
- [#else]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [/#if]
- [/#list]
-
-[/#list]
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.mk.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.mk.ftl
deleted file mode 100644
index c88471ac3..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f3xx/templates/board.mk.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[@pp.changeOutputFile name="board.mk" /]
-# List of all the board related files.
-BOARDSRC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}/board.c
-
-# Required include directories
-BOARDINC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.c.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.c.ftl
deleted file mode 100644
index f38fd106a..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.c.ftl
+++ /dev/null
@@ -1,139 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.c" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config =
-{
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
- {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
- VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
- {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
- VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
- {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
- VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
- {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
- VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
- {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
- VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH}
-};
-#endif
-
-/**
- * @brief Early initialization code.
- * @details This initialization must be performed just after stack setup
- * and before any other initialization.
- */
-void __early_init(void) {
-
- stm32_clock_init();
-[#if doc1.board.board_functions.__early_init[0]??]
- ${doc1.board.board_functions.__early_init[0]}
-[/#if]
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief SDC card detection.
- */
-bool_t sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-[#if doc1.board.board_functions.sdc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.sdc_lld_is_card_inserted[0]}
-[#else]
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief SDC card write protection detection.
- */
-bool_t sdc_lld_is_write_protected(SDCDriver *sdcp) {
-[#if doc1.board.board_functions.sdc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.sdc_lld_is_write_protected[0]}
-[#else]
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.mmc_lld_is_card_inserted[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.mmc_lld_is_write_protected[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl
deleted file mode 100644
index c24c0a355..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl
+++ /dev/null
@@ -1,327 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.h" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for ${doc1.board.board_name[0]} board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_${doc1.board.board_id[0]}
-#define BOARD_NAME "${doc1.board.board_name[0]}"
-
-[#if doc1.board.ethernet_phy[0]??]
-/*
- * Ethernet PHY type.
- */
-#define BOARD_PHY_ID ${doc1.board.ethernet_phy.identifier[0]}
-[#if doc1.board.ethernet_phy.bus_type[0]?string == "RMII"]
-#define BOARD_PHY_RMII
-[/#if]
-[/#if]
-
-/*
- * Board oscillators-related settings.
-[#if doc1.board.clocks.@LSEFrequency[0]?number == 0]
- * NOTE: LSE not fitted.
-[/#if]
-[#if doc1.board.clocks.@HSEFrequency[0]?number == 0]
- * NOTE: HSE not fitted.
-[/#if]
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK ${doc1.board.clocks.@LSEFrequency[0]}
-#endif
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK ${doc1.board.clocks.@HSEFrequency[0]}
-#endif
-
-[#if doc1.board.clocks.@HSEBypass[0]?string == "true"]
-#define STM32_HSE_BYPASS
-[/#if]
-
-/*
- * Board voltages.
- * Required for performance limits calculation.
- */
-#define STM32_VDD ${doc1.board.clocks.@VDD[0]}
-
-/*
- * MCU type as defined in the ST header file stm32f4xx.h.
- */
-#define STM32F4XX
-
-/*
- * IO pins assignments.
- */
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
-#define ${(port_name + "_" + name)?right_pad(27, " ")} ${pin_index?string}
- [/#list]
-
-[/#list]
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_2M(n) (0U << ((n) * 2))
-#define PIN_OSPEED_25M(n) (1U << ((n) * 2))
-#define PIN_OSPEED_50M(n) (2U << ((n) * 2))
-#define PIN_OSPEED_100M(n) (3U << ((n) * 2))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2))
-#define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4))
-
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
-/*
- * ${port_name} setup:
- *
- [#-- Generating pin descriptions inside the comment.--]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#assign type = pin.@Type[0] /]
- [#assign resistor = pin.@Resistor[0] /]
- [#assign speed = pin.@Speed[0] /]
- [#assign alternate = pin.@Alternate[0] /]
- [#if mode == "Input"]
- [#assign desc = mode + " " + resistor /]
- [#elseif mode == "Output"]
- [#assign desc = mode + " " + type + " " + speed /]
- [#elseif mode == "Alternate"]
- [#assign desc = mode + " " + alternate /]
- [#else]
- [#assign desc = "Analog" /]
- [/#if]
- * P${(port?node_name[4..] + pin_index?string)?right_pad(3, " ")} - ${name?right_pad(26, " ")}(${desc?lower_case}).
- [/#list]
- */
- [#--
- -- Generating MODER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#if mode == "Input"]
- [#assign out = "PIN_MODE_INPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Output"]
- [#assign out = "PIN_MODE_OUTPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Alternate"]
- [#assign out = "PIN_MODE_ALTERNATE(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_MODE_ANALOG(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_MODER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating OTYPER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign type = pin.@Type[0] /]
- [#if type == "PushPull"]
- [#assign out = "PIN_OTYPE_PUSHPULL(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OTYPE_OPENDRAIN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OTYPER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating SPEEDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign speed = pin.@Speed[0] /]
- [#if speed == "Minimum"]
- [#assign out = "PIN_OSPEED_2M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "Low"]
- [#assign out = "PIN_OSPEED_25M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "High"]
- [#assign out = "PIN_OSPEED_50M(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OSPEED_100M(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OSPEEDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating PUPDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign resistor = pin.@Resistor[0] /]
- [#if resistor == "Floating"]
- [#assign out = "PIN_PUPDR_FLOATING(" + port_name + "_" + name + ")" /]
- [#elseif resistor == "PullUp"]
- [#assign out = "PIN_PUPDR_PULLUP(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_PUPDR_PULLDOWN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_PUPDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating ODR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign level = pin.@Level[0] /]
- [#if level == "Low"]
- [#assign out = "PIN_ODR_LOW(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_ODR_HIGH(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_ODR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating AFRx registers values.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign alternate = pin.@Alternate[0]?trim /]
- [#assign out = "PIN_AFIO_AF(" + port_name + "_" + name + ", " + alternate + ")" /]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_AFRL (" + out /]
- [#elseif pin_index == 8]
- [#assign line = "#define VAL_" + port_name + "_AFRH (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if (pin_index == 7) || (pin_index == 15)]
-${line + ")"}
- [#else]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [/#if]
- [/#list]
-
-[/#list]
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.mk.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.mk.ftl
deleted file mode 100644
index c88471ac3..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32f4xx/templates/board.mk.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[@pp.changeOutputFile name="board.mk" /]
-# List of all the board related files.
-BOARDSRC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}/board.c
-
-# Required include directories
-BOARDINC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.c.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.c.ftl
deleted file mode 100644
index b46be86a2..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.c.ftl
+++ /dev/null
@@ -1,133 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.c" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config =
-{
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
- {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
- VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
- {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
- VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}
-};
-#endif
-
-/**
- * @brief Early initialization code.
- * @details This initialization must be performed just after stack setup
- * and before any other initialization.
- */
-void __early_init(void) {
-
- stm32_clock_init();
-[#if doc1.board.board_functions.__early_init[0]??]
- ${doc1.board.board_functions.__early_init[0]}
-[/#if]
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief SDC card detection.
- */
-bool_t sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-[#if doc1.board.board_functions.sdc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.sdc_lld_is_card_inserted[0]}
-[#else]
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief SDC card write protection detection.
- */
-bool_t sdc_lld_is_write_protected(SDCDriver *sdcp) {
-[#if doc1.board.board_functions.sdc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.sdc_lld_is_write_protected[0]}
-[#else]
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_card_inserted[0]??]
-${doc1.board.board_functions.mmc_lld_is_card_inserted[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return TRUE;
-[/#if]
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) {
-[#if doc1.board.board_functions.mmc_lld_is_write_protected[0]??]
-${doc1.board.board_functions.mmc_lld_is_write_protected[0]}
-[#else]
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return FALSE;
-[/#if]
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl
deleted file mode 100644
index 76db7eb27..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl
+++ /dev/null
@@ -1,321 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[#import "/@lib/liblicense.ftl" as license /]
-[@pp.changeOutputFile name="board.h" /]
-/*
-[@license.EmitLicenseAsText /]
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for ${doc1.board.board_name[0]} board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_${doc1.board.board_id[0]}
-#define BOARD_NAME "${doc1.board.board_name[0]}"
-
-[#if doc1.board.ethernet_phy[0]??]
-/*
- * Ethernet PHY type.
- */
-#define BOARD_PHY_ID ${doc1.board.ethernet_phy.identifier[0]}
-[#if doc1.board.ethernet_phy.bus_type[0]?string == "RMII"]
-#define BOARD_PHY_RMII
-[/#if]
-[/#if]
-
-/*
- * Board oscillators-related settings.
-[#if doc1.board.clocks.@LSEFrequency[0]?number == 0]
- * NOTE: LSE not fitted.
-[/#if]
-[#if doc1.board.clocks.@HSEFrequency[0]?number == 0]
- * NOTE: HSE not fitted.
-[/#if]
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK ${doc1.board.clocks.@LSEFrequency[0]}
-#endif
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK ${doc1.board.clocks.@HSEFrequency[0]}
-#endif
-
-[#if doc1.board.clocks.@HSEBypass[0]?string == "true"]
-#define STM32_HSE_BYPASS
-[/#if]
-
-/*
- * MCU type as defined in the ST header file stm32l1xx.h.
- */
-#define STM32L1XX_MD
-
-/*
- * IO pins assignments.
- */
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
-#define ${(port_name + "_" + name)?right_pad(27, " ")} ${pin_index?string}
- [/#list]
-
-[/#list]
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_400K(n) (0U << ((n) * 2))
-#define PIN_OSPEED_2M(n) (1U << ((n) * 2))
-#define PIN_OSPEED_10M(n) (2U << ((n) * 2))
-#define PIN_OSPEED_40M(n) (3U << ((n) * 2))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2))
-#define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4))
-
-[#list doc1.board.ports.* as port]
- [#assign port_name = port?node_name?upper_case /]
-/*
- * ${port_name} setup:
- *
- [#-- Generating pin descriptions inside the comment.--]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#assign type = pin.@Type[0] /]
- [#assign resistor = pin.@Resistor[0] /]
- [#assign speed = pin.@Speed[0] /]
- [#assign alternate = pin.@Alternate[0] /]
- [#if mode == "Input"]
- [#assign desc = mode + " " + resistor /]
- [#elseif mode == "Output"]
- [#assign desc = mode + " " + type + " " + speed /]
- [#elseif mode == "Alternate"]
- [#assign desc = mode + " " + alternate /]
- [#else]
- [#assign desc = "Analog" /]
- [/#if]
- * P${(port?node_name[4..] + pin_index?string)?right_pad(3, " ")} - ${name?right_pad(26, " ")}(${desc?lower_case}).
- [/#list]
- */
- [#--
- -- Generating MODER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign mode = pin.@Mode[0] /]
- [#if mode == "Input"]
- [#assign out = "PIN_MODE_INPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Output"]
- [#assign out = "PIN_MODE_OUTPUT(" + port_name + "_" + name + ")" /]
- [#elseif mode == "Alternate"]
- [#assign out = "PIN_MODE_ALTERNATE(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_MODE_ANALOG(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_MODER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating OTYPER register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign type = pin.@Type[0] /]
- [#if type == "PushPull"]
- [#assign out = "PIN_OTYPE_PUSHPULL(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OTYPE_OPENDRAIN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OTYPER (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating SPEEDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign speed = pin.@Speed[0] /]
- [#if speed == "Minimum"]
- [#assign out = "PIN_OSPEED_400K(" + port_name + "_" + name + ")" /]
- [#elseif speed == "Low"]
- [#assign out = "PIN_OSPEED_2M(" + port_name + "_" + name + ")" /]
- [#elseif speed == "High"]
- [#assign out = "PIN_OSPEED_10M(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_OSPEED_40M(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_OSPEEDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating PUPDR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign resistor = pin.@Resistor[0] /]
- [#if resistor == "Floating"]
- [#assign out = "PIN_PUPDR_FLOATING(" + port_name + "_" + name + ")" /]
- [#elseif resistor == "PullUp"]
- [#assign out = "PIN_PUPDR_PULLUP(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_PUPDR_PULLDOWN(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_PUPDR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating ODR register value.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign level = pin.@Level[0] /]
- [#if level == "Low"]
- [#assign out = "PIN_ODR_LOW(" + port_name + "_" + name + ")" /]
- [#else]
- [#assign out = "PIN_ODR_HIGH(" + port_name + "_" + name + ")" /]
- [/#if]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_ODR (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if pin_index < 15]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [#else]
-${line + ")"}
- [/#if]
- [/#list]
- [#--
- -- Generating AFRx registers values.
- --]
- [#list port.* as pin]
- [#assign pin_name = pin?node_name?upper_case /]
- [#assign name = pin.@ID[0]?string?trim /]
- [#if name?length == 0]
- [#assign name = pin_name /]
- [/#if]
- [#assign alternate = pin.@Alternate[0]?trim /]
- [#assign out = "PIN_AFIO_AF(" + port_name + "_" + name + ", " + alternate + ")" /]
- [#if pin_index == 0]
- [#assign line = "#define VAL_" + port_name + "_AFRL (" + out /]
- [#elseif pin_index == 8]
- [#assign line = "#define VAL_" + port_name + "_AFRH (" + out /]
- [#else]
- [#assign line = " " + out /]
- [/#if]
- [#if (pin_index == 7) || (pin_index == 15)]
-${line + ")"}
- [#else]
-${(line + " |")?right_pad(76, " ") + "\\"}
- [/#if]
- [/#list]
-
-[/#list]
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.mk.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.mk.ftl
deleted file mode 100644
index c88471ac3..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.mk.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-[#ftl]
-[#--
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- --]
-[@pp.dropOutputFile /]
-[#import "/@lib/libutils.ftl" as utils /]
-[@pp.changeOutputFile name="board.mk" /]
-# List of all the board related files.
-BOARDSRC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}/board.c
-
-# Required include directories
-BOARDINC = ${'$'}{CHIBIOS}/boards/${doc1.board.board_id[0]}
diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/processors.xml b/tools/eclipse/config_wizard/resources/gencfg/processors/processors.xml
deleted file mode 100644
index b4998fd9a..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/processors/processors.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<processors>
- <processor class="board" target="STM32F0xx">
- <name>STM32F0xx Board Configuration</name>
- <path>resources/gencfg/processors/boards/stm32f0xx/templates</path>
- <default>resources/gencfg/xml/stm32f0board.xml</default>
- <basefilename>board</basefilename>
- </processor>
- <processor class="board" target="STM32F3xx">
- <name>STM32F3xx Board Configuration</name>
- <path>resources/gencfg/processors/boards/stm32f3xx/templates</path>
- <default>resources/gencfg/xml/stm32f3board.xml</default>
- <basefilename>board</basefilename>
- </processor>
- <processor class="board" target="STM32F4xx">
- <name>STM32F4xx Board Configuration</name>
- <path>resources/gencfg/processors/boards/stm32f4xx/templates</path>
- <default>resources/gencfg/xml/stm32f4board.xml</default>
- <basefilename>board</basefilename>
- </processor>
- <processor class="board" target="STM32L1xx">
- <name>STM32L1xx Board Configuration</name>
- <path>resources/gencfg/processors/boards/stm32l1xx/templates</path>
- <default>resources/gencfg/xml/stm32l1board.xml</default>
- <basefilename>board</basefilename>
- </processor>
-</processors>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/abstract_board.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/boards/abstract_board.xsd
deleted file mode 100644
index a1c696339..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/abstract_board.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:include schemaLocation="../common/doc.xsd" />
- <xs:include schemaLocation="../common/config_settings.xsd" />
-
- <xs:complexType name="AbstractBoardType" abstract="true">
- <xs:sequence>
- <xs:element name="configuration_settings" type="ConfigurationSettingsType" maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="board_name" maxOccurs="1" minOccurs="1">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="board_id" maxOccurs="1" minOccurs="1">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="\w[\w\d_]*"></xs:pattern>
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="board_functions" maxOccurs="1"
- minOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="__early_init" type="xs:string"
- maxOccurs="1" minOccurs="0">
- </xs:element>
- <xs:element name="boardInit" type="xs:string"
- maxOccurs="1" minOccurs="0">
- </xs:element>
-
- <xs:element name="sdc_lld_is_card_inserted"
- type="xs:string" maxOccurs="1" minOccurs="0">
- </xs:element>
- <xs:element name="sdc_lld_is_write_protected"
- type="xs:string" maxOccurs="1" minOccurs="0">
- </xs:element>
- <xs:element name="mmc_lld_is_card_inserted"
- type="xs:string" maxOccurs="1" minOccurs="0">
- </xs:element>
- <xs:element name="mmc_lld_is_write_protected"
- type="xs:string" maxOccurs="1" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="ethernet_phy" type="EthernetPHYType"
- maxOccurs="1" minOccurs="0">
- </xs:element>
-
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="EthernetPHYType">
- <xs:sequence>
- <xs:element name="identifier" maxOccurs="1" minOccurs="1">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:pattern value="MII_[\w\d_]+"></xs:pattern>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="bus_type" maxOccurs="1" minOccurs="1">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:enumeration value="RMII"></xs:enumeration>
- <xs:enumeration value="MII"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f0xx_board.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f0xx_board.xsd
deleted file mode 100644
index fb41cf6ea..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f0xx_board.xsd
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:include schemaLocation="../common/doc.xsd" />
- <xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
- <xs:include schemaLocation="abstract_board.xsd" />
-
- <xs:complexType name="STM32F0xxBoardType">
- <xs:complexContent>
- <xs:extension base="AbstractBoardType">
- <xs:sequence>
- <xs:element name="clocks" maxOccurs="1" minOccurs="1">
- <xs:complexType>
- <xs:attribute name="HSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="HSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEDrive" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="3 High Drive (default)"></xs:enumeration>
- <xs:enumeration value="2 Medium-High Drive"></xs:enumeration>
- <xs:enumeration value="1 Medium-Low Drive"></xs:enumeration>
- <xs:enumeration value="0 Low Drive (lowest consumption)"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
-
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType></xs:element>
- <xs:element name="ports" type="portsType" maxOccurs="1"
- minOccurs="1">
- </xs:element>
- </xs:sequence>
-
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="portsType">
- <xs:sequence>
- <xs:element name="GPIOA" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOB" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOC" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOD" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOF" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="board" type="STM32F0xxBoardType"></xs:element>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f3xx_board.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f3xx_board.xsd
deleted file mode 100644
index 74ad4d7ba..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f3xx_board.xsd
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:include schemaLocation="../common/doc.xsd" />
- <xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
- <xs:include schemaLocation="abstract_board.xsd" />
-
- <xs:complexType name="STM32F3xxBoardType">
- <xs:complexContent>
- <xs:extension base="AbstractBoardType">
- <xs:sequence>
- <xs:element name="clocks" maxOccurs="1" minOccurs="1">
- <xs:complexType>
- <xs:attribute name="HSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="HSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEDrive" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="3 High Drive (default)"></xs:enumeration>
- <xs:enumeration value="2 Medium-High Drive"></xs:enumeration>
- <xs:enumeration value="1 Medium-Low Drive"></xs:enumeration>
- <xs:enumeration value="0 Low Drive (lowest consumption)"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="ports" type="portsType" maxOccurs="1" minOccurs="1">
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="portsType">
- <xs:sequence>
- <xs:element name="GPIOA" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOB" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOC" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOD" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOE" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOF" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="board" type="STM32F3xxBoardType"></xs:element>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f4xx_board.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f4xx_board.xsd
deleted file mode 100644
index f0d5a0a87..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32f4xx_board.xsd
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:include schemaLocation="../common/doc.xsd" />
- <xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
- <xs:include schemaLocation="abstract_board.xsd" />
-
- <xs:complexType name="STM32F4xxBoardType">
- <xs:complexContent>
- <xs:extension base="AbstractBoardType">
- <xs:sequence>
- <xs:element name="clocks" maxOccurs="1" minOccurs="1">
- <xs:complexType>
- <xs:attribute name="HSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="HSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
-
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="VDD" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
-
- <xs:minInclusive value="180"></xs:minInclusive>
-
- <xs:maxInclusive value="360"></xs:maxInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="ports" type="portsType" maxOccurs="1" minOccurs="1">
- </xs:element>
- </xs:sequence>
-
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="portsType">
- <xs:sequence>
- <xs:element name="GPIOA" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOB" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOC" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOD" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOE" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOF" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOG" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOH" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOI" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="board" type="STM32F4xxBoardType"></xs:element>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32l1xx_board.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32l1xx_board.xsd
deleted file mode 100644
index 01350cc7c..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/boards/stm32l1xx_board.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:include schemaLocation="../common/doc.xsd" />
- <xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
- <xs:include schemaLocation="abstract_board.xsd" />
-
- <xs:complexType name="STM32L1xxBoardType">
- <xs:complexContent>
- <xs:extension base="AbstractBoardType">
- <xs:sequence>
- <xs:element name="clocks" maxOccurs="1" minOccurs="1">
- <xs:complexType>
- <xs:attribute name="HSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="HSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEBypass" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace
- value="collapse">
- </xs:whiteSpace>
- <xs:enumeration value="false"></xs:enumeration>
- <xs:enumeration value="true"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="LSEFrequency"
- use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:minInclusive value="0"></xs:minInclusive>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType></xs:element>
- <xs:element name="ports" type="portsType" maxOccurs="1"
- minOccurs="1">
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="portsType">
- <xs:sequence>
- <xs:element name="GPIOA" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOB" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOC" type="STM32GPIOv2PortType"
- minOccurs="1" maxOccurs="1"></xs:element>
- <xs:element name="GPIOD" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOE" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- <xs:element name="GPIOH" type="STM32GPIOv2PortType"
- maxOccurs="1" minOccurs="1"></xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="board" type="STM32L1xxBoardType"></xs:element>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/common/code_snippets.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/common/code_snippets.xsd
deleted file mode 100644
index ad0bad11a..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/common/code_snippets.xsd
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-
- <xsd:element name="code">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="snippets" maxOccurs="1"
- minOccurs="1">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="snippet"
- maxOccurs="unbounded" minOccurs="1">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="type"
- maxOccurs="1" minOccurs="1">
- <xsd:simpleType>
- <xsd:restriction
- base="xsd:string">
- <xsd:enumeration
- value="thread_body">
- </xsd:enumeration>
- <xsd:enumeration
- value="function_body">
- </xsd:enumeration>
- <xsd:whiteSpace
- value="collapse">
- </xsd:whiteSpace>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="name"
- maxOccurs="1" minOccurs="1">
- <xsd:simpleType>
- <xsd:restriction
- base="xsd:string">
- <xsd:pattern
- value="[\w\d\s_]+">
- </xsd:pattern>
- <xsd:whiteSpace
- value="collapse">
- </xsd:whiteSpace>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="text"
- type="xsd:string" maxOccurs="1" minOccurs="1">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-</xsd:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/common/config_settings.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/common/config_settings.xsd
deleted file mode 100644
index 45d228142..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/common/config_settings.xsd
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:complexType name="ConfigurationSettingsType">
- <xs:sequence>
- <xs:element name="templates_path" minOccurs="1"
- maxOccurs="1">
- <xs:annotation>
- <xs:documentation>Templates resources associated to the configuration.</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:minLength value="1"></xs:minLength>
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:pattern value="[\w\d_/.]+"></xs:pattern>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="output_path" maxOccurs="1"
- minOccurs="1">
- <xs:annotation>
- <xs:documentation>Output directory relative to the configuration file.</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:minLength value="1"></xs:minLength>
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:pattern value="[\w\d_/.]+"></xs:pattern>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/common/doc.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/common/doc.xsd
deleted file mode 100644
index e5be361d5..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/common/doc.xsd
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:complexType name="NamedItem">
- <xs:annotation>
- <xs:documentation>
- >Generic item with optional name and brief
- description
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="name" maxOccurs="1" minOccurs="1">
- <xs:annotation>
- <xs:documentation>Name of the object.</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- <xs:pattern value="\w[\w\d_]*"></xs:pattern>
- <xs:minLength value="1"></xs:minLength>
- <xs:maxLength value="24"></xs:maxLength>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="DocumentedItem">
- <xs:annotation>
- <xs:documentation>>Something that can have a detailed description
- attached
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="NamedItem">
- <xs:sequence>
- <xs:element name="brief" maxOccurs="1" minOccurs="1">
- <xs:annotation>
- <xs:documentation>
- Brief description of the object.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:minLength value="0"></xs:minLength>
- <xs:maxLength value="72"></xs:maxLength>
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="details" maxOccurs="1" minOccurs="0">
- <xs:annotation>
- <xs:documentation>
- Object documentation as text, does not preserve
- formatting.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="pre" maxOccurs="unbounded" minOccurs="0">
- <xs:annotation>
- <xs:documentation>
- Object pre-requisites as text, does not preserve
- formatting.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="post" maxOccurs="unbounded" minOccurs="0">
- <xs:annotation>
- <xs:documentation>
- Object post-requisites as text, does not preserve
- formatting.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="note" maxOccurs="unbounded" minOccurs="0">
- <xs:annotation>
- <xs:documentation>
- Object note as text, does not preserve formatting.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/schema/common/stm32/stm32_gpiov2_port.xsd b/tools/eclipse/config_wizard/resources/gencfg/schema/common/stm32/stm32_gpiov2_port.xsd
deleted file mode 100644
index c3ac59487..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/schema/common/stm32/stm32_gpiov2_port.xsd
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema
- elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:complexType name="STM32GPIOv2PortType">
-
- <xs:sequence>
- <xs:element
- name="pin0"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin1"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin2"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin3"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin4"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin5"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin6"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin7"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin8"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin9"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin10"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin11"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin12"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin13"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin14"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- <xs:element
- name="pin15"
- type="STM32GPIOv2PinType"
- maxOccurs="1"
- minOccurs="1"></xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="STM32GPIOv2PinType">
- <xs:annotation>
- <xs:documentation>
- Object representing an STM32 pin for the GPIOv2
- peripheral.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute
- name="ID"
- use="required">
- <xs:annotation>
- <xs:documentation>Pin identifier, used to generate a #define with the
- pin name.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:annotation>
- <xs:documentation>
- </xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:pattern value="\w?[\w\d_]*"></xs:pattern>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute
- name="Mode"
- use="required">
- <xs:annotation>
- <xs:documentation>
- Pin mode, as defined for MODER register.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Input"></xs:enumeration>
- <xs:enumeration value="Output"></xs:enumeration>
- <xs:enumeration value="Alternate"></xs:enumeration>
- <xs:enumeration value="Analog"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute
- name="Level"
- use="required">
- <xs:annotation>
- <xs:documentation>Logic level for the ODR register.</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="High"></xs:enumeration>
- <xs:enumeration value="Low"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute
- name="Speed"
- use="required">
- <xs:annotation>
- <xs:documentation>
- Pin speed as defined in SPEEDR register.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Minimum"></xs:enumeration>
- <xs:enumeration value="Low"></xs:enumeration>
- <xs:enumeration value="High"></xs:enumeration>
- <xs:enumeration value="Maximum"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute
- name="Type"
- use="required">
- <xs:annotation>
- <xs:documentation>
- Pin type as defined in TYPER register.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="PushPull"></xs:enumeration>
- <xs:enumeration value="OpenDrain"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute
- name="Resistor"
- use="required">
- <xs:annotation>
- <xs:documentation>
- Pin pull-up/down resistor as defined in PUDR register.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Floating"></xs:enumeration>
- <xs:enumeration value="PullUp"></xs:enumeration>
- <xs:enumeration value="PullDown"></xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute
- name="Alternate"
- use="required">
- <xs:annotation>
- <xs:documentation>
- Pin alternate function number, only valid if
- "Alternate" is selected
- in the Mode attribute.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"></xs:minInclusive>
- <xs:maxInclusive value="15"></xs:maxInclusive>
- <xs:whiteSpace value="collapse"></xs:whiteSpace>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
-</xs:schema>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f0board.xml b/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f0board.xml
deleted file mode 100644
index 843dfe925..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f0board.xml
+++ /dev/null
@@ -1,669 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- STM32F0xx board Template -->
-<board
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd">
- <configuration_settings>
- <templates_path>resources/gencfg/processors/boards/stm32f0xx/templates</templates_path>
- <output_path>.</output_path>
- </configuration_settings>
- <board_name>-----human readable board name-----</board_name>
- <board_id>BOARD_IDENTIFIER</board_id>
- <board_functions></board_functions>
- <clocks
- HSEFrequency="8000000"
- HSEBypass="false"
- LSEFrequency="32768" />
- <ports>
- <GPIOA>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID="SWDAT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin14
- ID="SWCLK"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullDown"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOA>
- <GPIOB>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOB>
- <GPIOC>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID="OSC32_IN"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID="OSC32_OUT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOC>
- <GPIOD>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOD>
- <GPIOF>
- <pin0
- ID="OSC_IN"
- Type="PushPull"
- Speed="Minimum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID="OSC_OUT"
- Type="PushPull"
- Speed="Minimum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOF>
- </ports>
-</board>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f3board.xml b/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f3board.xml
deleted file mode 100644
index a552903be..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f3board.xml
+++ /dev/null
@@ -1,797 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- STM32F3xx board Template -->
-<board
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f3xx_board.xsd">
- <configuration_settings>
- <templates_path>resources/gencfg/processors/boards/stm32f3xx/templates</templates_path>
- <output_path>.</output_path>
- </configuration_settings>
- <board_name>-----human readable board name-----</board_name>
- <board_id>BOARD_IDENTIFIER</board_id>
- <board_functions></board_functions>
- <clocks HSEFrequency="8000000" HSEBypass="false" LSEFrequency="32768"
- LSEBypass="false" LSEDrive="3 High Drive (default)" />
- <ports>
- <GPIOA>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID="JTAG_TMS"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin14
- ID="JTAG_TCK"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullDown"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin15
- ID="JTAG_TDI"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- </GPIOA>
- <GPIOB>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID="BOOT1"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID="JTAG_TDO"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin4
- ID="JTAG_TRST"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOB>
- <GPIOC>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID="OSC32_IN"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID="OSC32_OUT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOC>
- <GPIOD>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOD>
- <GPIOE>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOE>
- <GPIOF>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOF>
- </ports>
-</board>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f4board.xml b/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f4board.xml
deleted file mode 100644
index 66a09d0d6..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32f4board.xml
+++ /dev/null
@@ -1,1194 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- STM32F4xx board Template -->
-<board
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f4xx_board.xsd">
- <configuration_settings>
- <templates_path>resources/gencfg/processors/boards/stm32f4xx/templates</templates_path>
- <output_path>.</output_path>
- </configuration_settings>
- <board_name>-----human readable board name-----</board_name>
- <board_id>BOARD_IDENTIFIER</board_id>
- <board_functions></board_functions>
- <ethernet_phy>
- <identifier>MII_KS8721_ID</identifier>
- <bus_type>RMII</bus_type>
- </ethernet_phy>
- <clocks
- HSEFrequency="8000000"
- HSEBypass="false"
- LSEFrequency="32768"
- VDD="300" />
- <ports>
- <GPIOA>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID="JTAG_TMS"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin14
- ID="JTAG_TCK"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullDown"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin15
- ID="JTAG_TDI"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- </GPIOA>
- <GPIOB>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID="BOOT1"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID="JTAG_TDO"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin4
- ID="JTAG_TRST"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOB>
- <GPIOC>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID="OSC32_IN"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID="OSC32_OUT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOC>
- <GPIOD>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOD>
- <GPIOE>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOE>
- <GPIOF>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOF>
- <GPIOG>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOG>
- <GPIOH>
- <pin0
- ID="OSC_IN"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0"></pin0>
- <pin1
- ID="OSC_OUT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOH>
- <GPIOI>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOI>
- </ports>
-</board>
diff --git a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32l1board.xml b/tools/eclipse/config_wizard/resources/gencfg/xml/stm32l1board.xml
deleted file mode 100644
index 00e5b5319..000000000
--- a/tools/eclipse/config_wizard/resources/gencfg/xml/stm32l1board.xml
+++ /dev/null
@@ -1,799 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- STM32L1xx board Template -->
-<board
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32l1xx_board.xsd">
- <configuration_settings>
- <templates_path>resources/gencfg/processors/boards/stm32l1xx/templates</templates_path>
- <output_path>.</output_path>
- </configuration_settings>
- <board_name>-----human readable board name-----</board_name>
- <board_id>BOARD_IDENTIFIER</board_id>
- <board_functions></board_functions>
- <clocks
- HSEFrequency="8000000"
- HSEBypass="false"
- LSEFrequency="32768" />
- <ports>
- <GPIOA>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID="JTAG_TMS"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin14
- ID="JTAG_TCK"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullDown"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin15
- ID="JTAG_TDI"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- </GPIOA>
- <GPIOB>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID="BOOT1"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID="JTAG_TDO"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin4
- ID="JTAG_TRST"
- Type="PushPull"
- Speed="Maximum"
- Resistor="PullUp"
- Level="High"
- Mode="Alternate"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOB>
- <GPIOC>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID="OSC32_IN"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID="OSC32_OUT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOC>
- <GPIOD>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOD>
- <GPIOE>
- <pin0
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin1
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOE>
- <GPIOH>
- <pin0
- ID="OSC_IN"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0"></pin0>
- <pin1
- ID="OSC_OUT"
- Type="PushPull"
- Speed="Maximum"
- Resistor="Floating"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin2
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin3
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin4
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin5
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin6
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin7
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin8
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin9
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin10
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin11
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin12
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin13
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin14
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- <pin15
- ID=""
- Type="PushPull"
- Speed="Minimum"
- Resistor="PullUp"
- Level="High"
- Mode="Input"
- Alternate="0" />
- </GPIOH>
- </ports>
-</board>
diff --git a/tools/eclipse/config_wizard/src/config_wizard/Activator.java b/tools/eclipse/config_wizard/src/config_wizard/Activator.java
deleted file mode 100644
index 1f62c4f62..000000000
--- a/tools/eclipse/config_wizard/src/config_wizard/Activator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package config_wizard;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.chibios.tools.eclipse.config"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
- * )
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
- * )
- */
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/CheckDescription.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/CheckDescription.java
deleted file mode 100644
index 0d7e7e292..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/CheckDescription.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-package org.chibios.tools.eclipse.config.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Our sample handler extends AbstractHandler, an IHandler base class.
- * @see org.eclipse.core.commands.IHandler
- * @see org.eclipse.core.commands.AbstractHandler
- */
-public class CheckDescription extends AbstractHandler {
-
- /**
- * The constructor.
- */
- public CheckDescription() {
- }
-
- /**
- * the command has been executed, so extract extract the needed information
- * from the application context.
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
- MessageDialog.openInformation(
- window.getShell(),
- "ChibiOS-RT_Configuration_Support",
- "Hello, Eclipse world");
- return null;
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/GenerateFiles.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/GenerateFiles.java
deleted file mode 100644
index aad5adfce..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/handlers/GenerateFiles.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.handlers;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.chibios.tools.eclipse.config.utils.TemplateEngine;
-import org.chibios.tools.eclipse.config.utils.TemplateException;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.jdom2.input.SAXBuilder;
-import org.osgi.framework.Bundle;
-
-import config_wizard.Activator;
-
-/**
- * Our sample handler extends AbstractHandler, an IHandler base class.
- *
- * @see org.eclipse.core.commands.IHandler
- * @see org.eclipse.core.commands.AbstractHandler
- */
-public class GenerateFiles extends AbstractHandler {
-
- /**
- * The constructor.
- */
- public GenerateFiles() {
- }
-
- /**
- * the command has been executed, so extract extract the needed information
- * from the application context.
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- IWorkbenchWindow window = HandlerUtil
- .getActiveWorkbenchWindowChecked(event);
- ISelection selection = window.getSelectionService().getSelection();
- if (selection instanceof IStructuredSelection) {
-
- /* Retrieves the full path of the configuration file. */
- IPath cfgfilepath = ((IFile)((IStructuredSelection)selection)
- .getFirstElement()).getLocation();
-
- /* DOM tree creation. */
- SAXBuilder builder = new SAXBuilder();
- Document document;
- try {
- document = builder.build(cfgfilepath.toFile());
- } catch (JDOMException e) {
- return null;
- } catch (IOException e) {
- return null;
- }
-
- /* Retrieving configuration settings info.*/
- Element settings = document.getRootElement().getChild("configuration_settings");
- String templates_path = settings.getChildText("templates_path");
- String output_path = settings.getChildText("output_path");
-
- /* Calculating derived paths. */
- IPath tpath = new Path(templates_path);
- try {
- Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
- tpath = new Path(FileLocator.toFileURL(
- FileLocator.find(bundle, tpath, null)).getFile());
- } catch (IOException e) {
- MessageDialog.openInformation(window.getShell(), "Path Error",
- e.getMessage());
- return null;
- }
-
- /* Templates execution. */
- try {
- TemplateEngine.process(cfgfilepath.toFile(),
- tpath.toFile(),
- new File(output_path));
- } catch (TemplateException e) {
- MessageDialog.openInformation(window.getShell(), "Processing Error",
- e.getMessage());
- return null;
- }
-
- /* Destination directory refresh.*/
- IContainer container = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(cfgfilepath).getParent();
- try {
- container.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
- e.printStackTrace();
- }
- }
- return null;
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/process/ApplicationGeneratorProcessRunner.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/process/ApplicationGeneratorProcessRunner.java
deleted file mode 100644
index e85442d81..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/process/ApplicationGeneratorProcessRunner.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.process;
-
-import org.eclipse.cdt.core.templateengine.TemplateCore;
-import org.eclipse.cdt.core.templateengine.process.ProcessArgument;
-import org.eclipse.cdt.core.templateengine.process.ProcessFailureException;
-import org.eclipse.cdt.core.templateengine.process.ProcessRunner;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class ApplicationGeneratorProcessRunner extends ProcessRunner {
-
- @Override
- public void process(TemplateCore template, ProcessArgument[] args,
- String processId, IProgressMonitor monitor)
- throws ProcessFailureException {
-
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateEngine.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateEngine.java
deleted file mode 100644
index ce1e5325a..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateEngine.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.utils;
-
-import java.io.IOException;
-import java.util.HashMap;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.MessageConsole;
-import org.eclipse.ui.console.MessageConsoleStream;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-
-import config_wizard.Activator;
-
-import fmpp.Engine;
-import fmpp.ProcessingException;
-import fmpp.ProgressListener;
-import fmpp.setting.SettingException;
-import fmpp.setting.Settings;
-import freemarker.ext.dom.NodeModel;
-import freemarker.template.TemplateNodeModel;
-
-/**
- * FMPP wrapper class.
- */
-public class TemplateEngine {
-
- private final static String CONSOLE_NAME = "ChibiOS/RT Configuration Tool";
-
- private final static Color DEFAULT_MESSAGE = new Color(Display.getDefault(), new RGB(0, 0, 255));
- private final static Color DEFAULT_OUTPUT = new Color(Display.getDefault(), new RGB(0, 0, 0));
- private final static Color DEFAULT_WARNING = new Color(Display.getDefault(), new RGB(255, 255, 0));
- private final static Color DEFAULT_ERROR = new Color(Display.getDefault(), new RGB(255, 0, 0));
-
- private static Settings settings;
- private static MessageConsoleStream msg;
- private static MessageConsoleStream out;
- private static MessageConsoleStream err;
- private static MessageConsoleStream warn;
-
- /**
- * Runs the templates engine.
- *
- * @param xmldata
- * absolute path to XML data file
- * @param sourcedir
- * absolute path to templates directory
- * @param outputdir
- * output directory relative to xmldata
- *
- * @throws SettingException
- * @throws ProcessingException
- */
- public static void process(java.io.File xmldata,
- java.io.File sourcedir,
- java.io.File outputdir) throws TemplateException {
-
- /* Finds or creates a named console. */
- MessageConsole console = findConsole(CONSOLE_NAME);
- activateConsole(console);
- console.clearConsole();
- msg = console.newMessageStream();
- msg.setColor(DEFAULT_MESSAGE);
- out = console.newMessageStream();
- out.setColor(DEFAULT_OUTPUT);
- err = console.newMessageStream();
- err.setColor(DEFAULT_ERROR);
- warn = console.newMessageStream();
- warn.setColor(DEFAULT_WARNING);
-
- /*
- * Calculates the path for FTL libraries.
- */
- IPath libpath = new Path("resources/gencfg/lib");
- Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
- try {
- libpath = new Path(FileLocator.toFileURL(FileLocator.find(bundle, libpath, null)).getFile());
- }
- catch (IOException e1) {
- err.println(": FTL libraries path not found.");
- return;
- }
-
- /*
- * Instantiates the FMPP Settings engine and associates a listener for
- * events to be logged.
- */
- try {
- settings = new Settings(xmldata.getParentFile());
- } catch (SettingException e) {
- e.printStackTrace();
- return;
- }
- settings.addProgressListener(new ProgressListener() {
- public void notifyProgressEvent(Engine engine, int event,
- java.io.File src, int pMode,
- java.lang.Throwable error,
- java.lang.Object param) {
-
- if (error != null) {
- err.println(": " + error.getMessage());
- return;
- }
-
- if (pMode == Engine.PMODE_IGNORE)
- return;
-
- switch (event) {
- case EVENT_BEGIN_PROCESSING_SESSION:
- msg.println("Starting session");
- msg.println();
- break;
- case EVENT_END_PROCESSING_SESSION:
- msg.println();
- msg.println("Finished");
- break;
- case EVENT_BEGIN_FILE_PROCESSING:
- out.println("> Processing " + src.getName());
- break;
- case EVENT_END_FILE_PROCESSING:
- break;
- case EVENT_IGNORING_DIR:
- out.println("> Ignoring directory " + src.getName());
- break;
- case EVENT_SOURCE_NOT_MODIFIED:
- out.println("> Skipping " + src.getName());
- break;
- case EVENT_WARNING:
- warn.println(": " + (String)param);
- break;
- }
- }
- });
-
- /* Loading data model. */
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setNamespaceAware(true);
- dbf.setValidating(false);
- DocumentBuilder db;
- try {
- db = dbf.newDocumentBuilder();
- } catch (ParserConfigurationException e) {
- throw new TemplateException(e.getMessage());
- }
- Document dom1, dom_snippets;
- try {
- dom1 = db.parse(xmldata);
- java.io.File xmlsnippets = libpath.addTrailingSeparator().append("code_snippets.xml").toFile();
- dom_snippets = db.parse(xmlsnippets);
- } catch (SAXException e) {
- throw new TemplateException(e.getMessage());
- } catch (IOException e) {
- throw new TemplateException(e.getMessage());
- }
-
- NodeModel.removeComments(dom1);
- NodeModel.mergeAdjacentText(dom1);
- NodeModel.removeComments(dom_snippets);
- TemplateNodeModel doc1 = NodeModel.wrap(dom1);
- NodeModel.mergeAdjacentText(dom_snippets);
- TemplateNodeModel doc_snippets = NodeModel.wrap(dom_snippets);
-
- HashMap<String, TemplateNodeModel> xmls = new HashMap<String, TemplateNodeModel>();
- xmls.put("doc1", doc1);
- xmls.put("doc_snippets", doc_snippets);
-
- /* Setting libraries path. */
- HashMap<String, String> libs = new HashMap<String, String>();
- libs.put("lib", libpath.toString());
-
- /* Other settings. */
- try {
- settings.add("freemarkerLinks", libs);
- settings.add("data", xmls);
- settings.add("sourceRoot", sourcedir.toString());
- settings.add("outputRoot", outputdir.toString());
- settings.add("ignoreCvsFiles", true);
- settings.add("ignoreSvnFiles", true);
- } catch (SettingException e) {
- throw new TemplateException(e.getMessage());
- }
-
- /* Processor execution. */
- try {
- settings.execute();
- } catch (SettingException e) {
- throw new TemplateException(e.getMessage());
- } catch (ProcessingException e) {
- throw new TemplateException(e.getMessage());
- }
- }
-
- private static MessageConsole findConsole(String name) {
- ConsolePlugin plugin = ConsolePlugin.getDefault();
- IConsoleManager conMan = plugin.getConsoleManager();
- IConsole[] existing = conMan.getConsoles();
- for (int i = 0; i < existing.length; i++)
- if (name.equals(existing[i].getName()))
- return (MessageConsole) existing[i];
-
- /* No console found, so create a new one. */
- MessageConsole myConsole = new MessageConsole(name, null);
- conMan.addConsoles(new IConsole[] { myConsole });
- return myConsole;
- }
-
- private static void activateConsole(MessageConsole console) {
- IWorkbench wb = PlatformUI.getWorkbench();
- IWorkbenchWindow win = wb.getActiveWorkbenchWindow();
- IWorkbenchPage page = win.getActivePage();
- IConsoleView view;
- try {
- view = (IConsoleView) page.showView(IConsoleConstants.ID_CONSOLE_VIEW);
- } catch (PartInitException e) {
- e.printStackTrace();
- return;
- }
- view.display(console);
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateException.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateException.java
deleted file mode 100644
index 73746de1d..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/utils/TemplateException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.utils;
-
-public class TemplateException extends Exception {
-
- private static final long serialVersionUID = -3317410595937500925L;
-
- public TemplateException(String msg) {
- super(msg);
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizard.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizard.java
deleted file mode 100644
index 28ee7e6e7..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizard.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-import java.io.*;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.operation.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.*;
-import org.eclipse.ui.ide.IDE;
-import org.osgi.framework.Bundle;
-
-import config_wizard.Activator;
-
-/**
- * This is a sample new wizard. Its role is to create a new file resource in the
- * provided container. If the container resource (a folder or a project) is
- * selected in the workspace when the wizard is opened, it will accept it as the
- * target container. The wizard creates one file with the extension "chcfg". If
- * a sample multi-page editor (also available as a template) is registered for
- * the same extension, it will be able to open it.
- */
-
-public class ConfigurationNewWizard extends Wizard implements INewWizard {
- private ConfigurationNewWizardPage page;
- private ISelection selection;
-
- private String containerName;
- private String projectFileName;
- private String defaultDataFile;
-
- /**
- * Constructor for ConfigurationNewWizard.
- */
- public ConfigurationNewWizard() {
- super();
- setNeedsProgressMonitor(true);
- }
-
- /**
- * Adding the page to the wizard.
- */
- public void addPages() {
- page = new ConfigurationNewWizardPage(selection);
- addPage(page);
- }
-
- /**
- * Checks if the wizard page allows to finish.
- */
- public boolean canFinish() {
-
- return page.canFinish();
- }
-
- /**
- * This method is called when 'Finish' button is pressed in the wizard. We
- * will create an operation and run it using wizard as execution context.
- */
- public boolean performFinish() {
-
- containerName = page.getContainerName();
- projectFileName = page.getProjectFileName();
- defaultDataFile = page.getDefaultDataFile();
-
- IRunnableWithProgress op = new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor)
- throws InvocationTargetException {
- try {
- doFinish(monitor);
- } catch (CoreException e) {
- throw new InvocationTargetException(e);
- } finally {
- monitor.done();
- }
- }
- };
- try {
- getContainer().run(true, false, op);
- } catch (InterruptedException e) {
- return false;
- } catch (InvocationTargetException e) {
- Throwable realException = e.getTargetException();
- MessageDialog.openError(getShell(), "Error", realException.getMessage());
- return false;
- }
- return true;
- }
-
- /**
- * The worker method. It will find the container, create the file if missing
- * or just replace its contents, and open the editor on the newly created
- * file.
- */
- private void doFinish(IProgressMonitor monitor) throws CoreException {
-
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- IResource resource = root.findMember(new Path(containerName));
- if (!resource.exists() || !(resource instanceof IContainer)) {
- throwCoreException("Container \"" + containerName + "\" does not exist.");
- }
- IContainer container = (IContainer)resource;
- monitor.beginTask("Creating " + projectFileName, 3);
-
- /* Step #1, creates the project file.*/
- final IFile projectFile = container.getFile(new Path(projectFileName));
- Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
- IPath path = new Path(defaultDataFile);
- String s;
- try {
- s = FileLocator.toFileURL(FileLocator.find(bundle, path, null)).getFile();
- InputStream stream = new FileInputStream(s);
- if (projectFile.exists()) {
- projectFile.setContents(stream, true, true, monitor);
- } else {
- projectFile.create(stream, true, monitor);
- }
- stream.close();
- } catch (IOException e) {
- }
- monitor.worked(1);
-
- /* Step #2, opens the XML data file.*/
- monitor.setTaskName("Opening XML data file for editing...");
- getShell().getDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchPage page = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage();
- try {
- IDE.openEditor(page, projectFile, true);
- } catch (PartInitException e) {
- }
- }
- });
- monitor.worked(1);
-
- /* Step #3, refreshing local resources.*/
- container.refreshLocal(IResource.DEPTH_INFINITE, monitor);
- monitor.worked(1);
- }
-
- private void throwCoreException(String message) throws CoreException {
- IStatus status = new Status(IStatus.ERROR,
- "org.chibios.tools.eclipse.config", IStatus.OK,
- message, null);
- throw new CoreException(status);
- }
-
- /**
- * We will accept the selection in the workbench to see if we can initialize
- * from it.
- *
- * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
- */
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- this.selection = selection;
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizardPage.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizardPage.java
deleted file mode 100644
index d503d9748..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/ConfigurationNewWizardPage.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.wizards;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Combo;
-
-import org.osgi.framework.Bundle;
-
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.jdom2.input.SAXBuilder;
-
-import config_wizard.Activator;
-
-/**
- * The "New" wizard page allows setting the container for the new file as well
- * as the file name. The page will only accept file name without the extension
- * OR with the extension that matches the expected one (chcfg).
- */
-
-public class ConfigurationNewWizardPage extends WizardPage {
-
- private ISelection selection;
- private IContainer resourceContainer;
-
- private Document processorsDocument;
- private String currentDefaultDataFile;
-
- private Composite container;
- private Combo configurationTemplatesCombo;
- private Text confProjectFilenameText;
-
- /**
- * Constructor for SampleNewWizardPage.
- */
- public ConfigurationNewWizardPage(ISelection selection) {
-
- super("wizardPage");
- setTitle("ChibiOS/RT Configuration Project File");
- setDescription("This wizard creates a ChibiOS/RT configuration resource. Configuration resources allow to generate project resources starting from high level descriptions written in XML.");
- this.selection = selection;
- }
-
- /**
- * @see IDialogPage#createControl(Composite)
- */
- @Override
- public void createControl(Composite parent) {
- container = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout();
- container.setLayout(layout);
- layout.numColumns = 2;
- layout.verticalSpacing = 9;
-
- Label lbl1 = new Label(container, SWT.NULL);
- lbl1.setText("Configuration template:");
-
- configurationTemplatesCombo = new Combo(container, SWT.READ_ONLY);
- configurationTemplatesCombo.setLayoutData(new GridData(SWT.FILL,
- SWT.CENTER, true,
- false, 1, 1));
-
- Label lbl2 = new Label(container, SWT.NULL);
- lbl2.setText("Configuration project filename:");
-
- confProjectFilenameText = new Text(container, SWT.BORDER | SWT.SINGLE);
- confProjectFilenameText.setText("config.chcfg");
- confProjectFilenameText
- .setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- confProjectFilenameText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- confProjectFilenameUpdated();
- }
- });
-
- /* Note, it must stay after the creation of the text fields. */
- configurationTemplatesCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- Element processor = getSelectedTemplate();
- String basefilename = processor.getChildText("basefilename");
- confProjectFilenameText.setText(basefilename.concat(".chcfg"));
- currentDefaultDataFile = processor.getChildText("default");
- }
- });
-
- initialize();
- setControl(container);
- }
-
- public String getContainerName() {
-
- return resourceContainer.getFullPath().toString();
- }
-
- public String getProjectFileName() {
-
- return confProjectFilenameText.getText();
- }
-
- public String getDefaultDataFile() {
-
- return currentDefaultDataFile;
- }
-
- public boolean canFinish() {
-
- return container.getEnabled();
- }
-
- /**
- * Tests if the current workbench selection is a suitable container to use.
- */
- private void initialize() {
-
- if (selection != null && selection.isEmpty() == false
- && selection instanceof IStructuredSelection) {
- IStructuredSelection ssel = (IStructuredSelection) selection;
- if (ssel.size() > 1)
- return;
- Object obj = ssel.getFirstElement();
- if (obj instanceof IResource) {
- if (obj instanceof IContainer)
- resourceContainer = (IContainer) obj;
- else
- resourceContainer = ((IResource) obj).getParent();
- }
- }
- else {
- MessageDialog.openError(getShell(),
- "Error", "Container for the resource not selected.");
- container.setEnabled(false);
- updateStatus("Container for the resource not selected.");
- }
-
- /* Retrieving the resource path of the processors.xml file. */
- String fpath;
- try {
- Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
- IPath path = new Path("resources/gencfg/processors/processors.xml");
- fpath = FileLocator.toFileURL(FileLocator.find(bundle, path, null))
- .getFile();
- } catch (IOException e) {
- e.printStackTrace();
- return;
- }
-
- /* DOM tree creation. */
- SAXBuilder builder = new SAXBuilder();
- try {
- processorsDocument = builder.build(fpath);
- } catch (JDOMException e) {
- e.printStackTrace();
- return;
- } catch (IOException e) {
- e.printStackTrace();
- return;
- }
-
- /* Parsing the content of the processors.xml file in order to populate the
- panel objects.*/
- Element root = processorsDocument.getRootElement();
- for (Element processor : root.getChildren("processor")) {
- String name = processor.getChildText("name");
- configurationTemplatesCombo.add(name);
- }
- configurationTemplatesCombo.select(0);
- }
-
- /**
- * Checks the content of the confProjectFilenameText field.
- */
- private void confProjectFilenameUpdated() {
- String fileName = getProjectFileName();
-
- if (fileName.length() == 0) {
- updateStatus("File name must be specified");
- return;
- }
- if (fileName.replace('\\', '/').indexOf('/', 1) > 0) {
- updateStatus("File name must be valid");
- return;
- }
- int dotLoc = fileName.lastIndexOf('.');
- if (dotLoc != -1) {
- String ext = fileName.substring(dotLoc + 1);
- if (ext.equalsIgnoreCase("chcfg") == false) {
- updateStatus("Configuration project filename extension must be \"chcfg\"");
- return;
- }
- }
- updateStatus(null);
- }
-
- /**
- * Returns the XML Element associated to the current selection in the combo
- * box.
- *
- * @return An Element Object.
- */
- private Element getSelectedTemplate() {
-
- for (Element processor : processorsDocument.getRootElement()
- .getChildren("processor")) {
- String name = processor.getChildText("name");
- String item = configurationTemplatesCombo
- .getItem(configurationTemplatesCombo.getSelectionIndex());
- if (name.compareTo(item) == 0) {
- return processor;
- }
- }
- return null;
- }
-
- /**
- * Updates the status text in the Wizard page.
- *
- * @param message
- * the message to be shown
- */
- private void updateStatus(String message) {
-
- setErrorMessage(message);
- setPageComplete(message == null);
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java
deleted file mode 100644
index b94df01cc..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizard.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.model.CoreModel;
-import org.eclipse.cdt.core.settings.model.ICProjectDescription;
-import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
-import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
-import org.eclipse.cdt.managedbuilder.core.IBuilder;
-import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
-import org.eclipse.cdt.managedbuilder.internal.core.Configuration;
-import org.eclipse.cdt.managedbuilder.internal.core.ManagedProject;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-@SuppressWarnings("restriction")
-public class NewApplicationProjectWizard extends Wizard implements INewWizard {
-
- private NewApplicationProjectWizardPage page;
- private ISelection selection;
-
- private String projectName;
- private String finalProjectPath;
- private String platform;
-
- /**
- * Constructor for ConfigurationNewWizard.
- */
- public NewApplicationProjectWizard() {
- super();
- setNeedsProgressMonitor(true);
- }
-
- /**
- * Adding the page to the wizard.
- */
- public void addPages() {
- page = new NewApplicationProjectWizardPage(selection);
- addPage(page);
- }
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- this.selection = selection;
- }
-
- @Override
- public boolean performFinish() {
-
- projectName = page.getProjectName();
- finalProjectPath = page.getFinalProjectPath();
- platform = page.getPlatform();
-
- IRunnableWithProgress op = new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor)
- throws InvocationTargetException {
- try {
- doFinish(monitor);
- }
- catch (CoreException e) {
- throw new InvocationTargetException(e);
- }
- finally {
- monitor.done();
- }
- }
- };
- try {
- getContainer().run(true, false, op);
- }
- catch (InterruptedException e) {
- return false;
- }
- catch (InvocationTargetException e) {
- Throwable realException = e.getTargetException();
- MessageDialog.openError(getShell(), "Error", realException.getMessage());
- return false;
- }
- return true;
- }
-
- /**
- * The worker method. It will find the container, create the file if missing
- * or just replace its contents, and open the editor on the newly created
- * file.
- */
- private void doFinish(IProgressMonitor monitor) throws CoreException {
-
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IWorkspaceRoot root = workspace.getRoot();
-
- monitor.beginTask("Creating " + projectName, 3);
-
- /* Step #1, creates the project file.*/
- IProject project = root.getProject(projectName);
- if (project.exists()) {
- monitor.done();
- MessageDialog.openError(getShell(), "Error", "Project " + projectName +
- " already exists in workspace");
- return;
- }
-
- IProjectDescription desc = project.getWorkspace().newProjectDescription(projectName);
- if (finalProjectPath != null)
- desc.setLocation(new Path(finalProjectPath));
- project.create(desc, null);
-
- /* Step #2, makes it a CDT project.*/
- desc = workspace.newProjectDescription(projectName);
- project = CCorePlugin.getDefault().createCDTProject(desc, project, null);
-
- ICProjectDescriptionManager mngr = CoreModel.getDefault().getProjectDescriptionManager();
- ICProjectDescription cdesc = mngr.createProjectDescription(project, false);
- ManagedProject mproject = new ManagedProject(cdesc);
- Configuration cfg = new Configuration(mproject, null, "Default", "Default");
- IBuilder bld = cfg.getEditableBuilder();
- bld.setManagedBuildOn(false);
- CConfigurationData data = cfg.getConfigurationData();
- cdesc.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
-
- mngr.setProjectDescription(project, cdesc);
- monitor.worked(1);
- }
-}
diff --git a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizardPage.java b/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizardPage.java
deleted file mode 100644
index b2daabeac..000000000
--- a/tools/eclipse/config_wizard/src/org/chibios/tools/eclipse/config/wizards/NewApplicationProjectWizardPage.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.config.wizards;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.widgets.Combo;
-
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.jdom2.input.SAXBuilder;
-import org.osgi.framework.Bundle;
-
-import config_wizard.Activator;
-
-public class NewApplicationProjectWizardPage extends WizardPage {
-
- private Composite container;
- private Text projectParentPathText;
- private Button btnBrowse;
- private Label lbl1;
- private Text projectNameText;
- private Button useCustomPathButton;
- private Label lbl3;
- private Text projectFinalPathText;
- private Label lbl4;
- private Combo platformCombo;
-
- /**
- * Constructor for SampleNewWizardPage.
- */
- public NewApplicationProjectWizardPage(ISelection selection) {
-
- super("wizardPage");
- setTitle("ChibiOS/RT New Application Project Wizard");
- setDescription("This wizard creates a new ChibiOS/RT application project.");
- }
-
- /**
- * @see IDialogPage#createControl(Composite)
- */
- @Override
- public void createControl(Composite parent) {
- container = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout();
- container.setLayout(layout);
- layout.numColumns = 3;
- layout.verticalSpacing = 9;
-
- /* Layout row 1.*/
- lbl1 = new Label(container, SWT.NONE);
- lbl1.setText("Project name:");
- projectNameText = new Text(container, SWT.BORDER);
- projectNameText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- projectPageUpdated();
- }
- });
- projectNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
- new Label(container, SWT.NONE);
-
- /* Layout row 2.*/
- useCustomPathButton = new Button(container, SWT.CHECK);
- useCustomPathButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (useCustomPathButton.getSelection()) {
- projectParentPathText.setText(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString());
- projectParentPathText.setEnabled(false);
- btnBrowse.setEnabled(false);
- updateFinalProjectPathText();
- }
- else {
- projectParentPathText.setText(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString());
- projectParentPathText.setEnabled(true);
- btnBrowse.setEnabled(true);
- updateFinalProjectPathText();
- }
- }
- });
- useCustomPathButton.setText("Use default location");
- new Label(container, SWT.NONE);
- new Label(container, SWT.NONE);
-
- /* Layout row 3.*/
- Label lbl2 = new Label(container, SWT.NULL);
- lbl2.setText("Project parent path:");
- projectParentPathText = new Text(container, SWT.BORDER | SWT.SINGLE);
- projectParentPathText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- projectPageUpdated();
- }
- });
- projectParentPathText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- btnBrowse = new Button(container, SWT.NONE);
- btnBrowse.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- /* Prompts the user for a parent directory for the new project.*/
- DirectoryDialog dlg = new DirectoryDialog(getShell());
- dlg.setFilterPath(projectParentPathText.getText());
- dlg.setText("New ChibiOS/RT Project");
- dlg.setMessage("Select the parent directory for the new ChibiOS/RT application project.");
- String parent = dlg.open();
- if (parent != null) {
- projectParentPathText.setText(parent);
- projectPageUpdated();
- }
- }
- });
- btnBrowse.setText("Browse...");
-
- /* Layout row 4.*/
- lbl3 = new Label(container, SWT.NONE);
- lbl3.setText("Final project path:");
- projectFinalPathText = new Text(container, SWT.BORDER);
- projectFinalPathText.setEditable(false);
- projectFinalPathText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
- new Label(container, SWT.NONE);
-
- /* Layout row 5.*/
- lbl4 = new Label(container, SWT.NONE);
- lbl4.setText("Target platform:");
- platformCombo = new Combo(container, SWT.READ_ONLY);
- platformCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
- new Label(container, SWT.NONE);
-
- initialize();
- setControl(container);
- }
-
- /**
- * Tests if the current workbench selection is a suitable container to use.
- */
- private void initialize() {
-
- /* Initial state of the check box and project path text.*/
- useCustomPathButton.setSelection(true);
- projectParentPathText.setText(ResourcesPlugin.getWorkspace().getRoot().getLocation().toString());
- projectParentPathText.setEnabled(false);
- btnBrowse.setEnabled(false);
-
- /* Retrieving the resource path of the processors.xml file. */
- String fpath;
- try {
- Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
- IPath path = new Path("resources/gencfg/processors/processors.xml");
- fpath = FileLocator.toFileURL(FileLocator.find(bundle, path, null)).getFile();
- } catch (IOException e) {
- e.printStackTrace();
- return;
- }
-
- /* DOM tree creation. */
- SAXBuilder builder = new SAXBuilder();
- Document document;
- try {
- document = builder.build(fpath);
- } catch (JDOMException e) {
- e.printStackTrace();
- return;
- } catch (IOException e) {
- e.printStackTrace();
- return;
- }
-
- /* Parsing the content of the processors.xml file in order to populate the
- panel objects.*/
- Element root = document.getRootElement();
- for (Element processor : root.getChildren("processor")) {
- String class_attr = processor.getAttributeValue("class", "");
- if (class_attr.compareToIgnoreCase("build") == 0) {
- String name = processor.getAttributeValue("target", "internal error");
- platformCombo.add(name);
- }
- }
- platformCombo.select(0);
-
- /* Update checks on the fields.*/
- projectPageUpdated();
-
- /* Focus on the first editable field.*/
- projectNameText.setFocus();
- }
-
- public String getProjectName() {
-
- return projectNameText.getText();
- }
-
- public String getProjectParentPath() {
-
- return projectParentPathText.getText();
- }
-
- public String getFinalProjectPath() {
-
- if (useCustomPathButton.getSelection())
- return null;
- return projectFinalPathText.getText();
- }
-
- public String getPlatform() {
-
- return platformCombo.getText();
- }
-
- private void projectPageUpdated() {
-
- updateFinalProjectPathText();
-
- /* Checks the project location.*/
- File path = new File(projectParentPathText.getText());
- if (!path.exists()) {
- updateStatus("Project path is not valid.");
- return;
- }
- if (!path.isDirectory()) {
- updateStatus("Project path is a directory.");
- return;
- }
-
- /* Checks the project name.*/
- String name = projectNameText.getText();
- if (!isValidFilename(name)) {
- updateStatus("Invalid project name.");
- return;
- }
-
- /* Checks if the project already exists in the workspace.*/
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
- if (project.exists()) {
- updateStatus("Project exists.");
- return;
- }
-
- updateStatus(null);
- }
-
- /**
- * Updates the status text in the Wizard page.
- *
- * @param message
- * the message to be shown
- */
- private void updateStatus(String message) {
-
- setErrorMessage(message);
- setPageComplete(message == null);
- }
-
- private void updateFinalProjectPathText() {
-
- IPath parent = new Path(projectParentPathText.getText());
- IPath project = parent.addTrailingSeparator().append(projectNameText.getText());
- projectFinalPathText.setText(project.toString());
- }
-
- private boolean isValidFilename(String name) {
-
- if (name.length() == 0)
- return false;
- if ((name.indexOf("`") >= 0) || (name.indexOf("?") >= 0) ||
- (name.indexOf("*") >= 0) || (name.indexOf("<") >= 0) ||
- (name.indexOf(">") >= 0) || (name.indexOf("|") >= 0) ||
- (name.indexOf("\"") >= 0) || (name.indexOf(":") >= 0) ||
- (name.indexOf("#") >= 0) || (name.indexOf("\\") >= 0) ||
- (name.indexOf("/") >= 0) || (name.indexOf("|") >= 0))
- return false;
- return true;
- }
-}
diff --git a/tools/eclipse/debug_support/.classpath b/tools/eclipse/debug_support/.classpath
deleted file mode 100644
index 8a8f1668c..000000000
--- a/tools/eclipse/debug_support/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tools/eclipse/debug_support/.project b/tools/eclipse/debug_support/.project
deleted file mode 100644
index eb8a22dc0..000000000
--- a/tools/eclipse/debug_support/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>Tool Debug Support</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/tools/eclipse/debug_support/.settings/org.eclipse.jdt.core.prefs b/tools/eclipse/debug_support/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c63fde790..000000000
--- a/tools/eclipse/debug_support/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Fri Jul 01 10:57:07 CEST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tools/eclipse/debug_support/META-INF/MANIFEST.MF b/tools/eclipse/debug_support/META-INF/MANIFEST.MF
deleted file mode 100644
index 2908664cf..000000000
--- a/tools/eclipse/debug_support/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: ChibiOS-RT_Debug_Support
-Bundle-SymbolicName: org.chibios.tools.eclipse.debug; singleton:=true
-Bundle-Version: 1.1.0
-Bundle-Activator: org.chibios.tools.eclipse.debug.activator.Activator
-Bundle-Vendor: chibios.org
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.cdt.debug.mi.core,
- org.eclipse.debug.ui,
- org.eclipse.cdt.debug.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ClassPath: .
diff --git a/tools/eclipse/debug_support/build.properties b/tools/eclipse/debug_support/build.properties
deleted file mode 100644
index 255e23b61..000000000
--- a/tools/eclipse/debug_support/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/,\
- contexts.xml
diff --git a/tools/eclipse/debug_support/contexts.xml b/tools/eclipse/debug_support/contexts.xml
deleted file mode 100644
index 02e26e45c..000000000
--- a/tools/eclipse/debug_support/contexts.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<contexts>
- <context id="viewer" title="Sample View">
- <description>This is the context help for the sample view with a table viewer. It was generated by a PDE template.</description>
- <topic href="/PLUGINS_ROOT/org.eclipse.platform.doc.isv/guide/ua_help_context.htm" label="Context-sensitive help">
- <enablement>
- <with variable="platform">
- <test property="org.eclipse.core.runtime.isBundleInstalled" args="org.eclipse.platform.doc.isv"/>
- </with>
- </enablement>
- </topic>
- </context>
-</contexts>
diff --git a/tools/eclipse/debug_support/icons/sample.gif b/tools/eclipse/debug_support/icons/sample.gif
deleted file mode 100644
index 34fb3c9d8..000000000
--- a/tools/eclipse/debug_support/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/debug_support/plugin.xml b/tools/eclipse/debug_support/plugin.xml
deleted file mode 100644
index b6102196c..000000000
--- a/tools/eclipse/debug_support/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <extension
- point="org.eclipse.ui.views">
- <category
- name="ChibiOS/RT"
- id="org.chibios.tools.eclipse.debug">
- </category>
- <view
- category="org.chibios.tools.eclipse.debug"
- class="org.chibios.tools.eclipse.debug.views.ChibiView"
- icon="icons/sample.gif"
- id="org.chibios.tools.eclipse.debug.views.ChibiView"
- name="ChibiOS/RT">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension
- targetID="org.eclipse.jdt.ui.JavaPerspective">
- <view
- id="org.chibios.tools.eclipse.debug.views.ChibiView"
- ratio="0.5"
- relationship="right"
- relative="org.eclipse.ui.views.TaskList">
- </view>
- </perspectiveExtension>
- </extension>
- <extension
- point="org.eclipse.help.contexts">
- <contexts
- file="contexts.xml">
- </contexts>
- </extension>
-
-</plugin>
diff --git a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/activator/Activator.java b/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/activator/Activator.java
deleted file mode 100644
index b2cfc6098..000000000
--- a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/activator/Activator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.debug.activator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.chibios.tools.eclipse.debug"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
- * )
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
- * )
- */
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-}
diff --git a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxy.java b/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxy.java
deleted file mode 100644
index 6104b840b..000000000
--- a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxy.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.debug.utils;
-
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-
-import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
-import org.eclipse.cdt.debug.internal.core.model.CDebugTarget;
-import org.eclipse.cdt.debug.mi.core.MIException;
-import org.eclipse.cdt.debug.mi.core.MIFormat;
-import org.eclipse.cdt.debug.mi.core.MISession;
-import org.eclipse.cdt.debug.mi.core.cdi.model.Target;
-import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
-import org.eclipse.cdt.debug.mi.core.command.MIDataEvaluateExpression;
-import org.eclipse.cdt.debug.mi.core.command.MIDataReadMemory;
-import org.eclipse.cdt.debug.mi.core.output.MIDataEvaluateExpressionInfo;
-import org.eclipse.cdt.debug.mi.core.output.MIDataReadMemoryInfo;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IDebugTarget;
-
-@SuppressWarnings("restriction")
-public class DebugProxy {
-
- private CommandFactory cmd_factory;
- private MISession mi_session;
-
- protected final static String[] threadStates = {
- "READY",
- "CURRENT",
- "SUSPENDED",
- "WTSEM",
- "WTMTX",
- "WTCOND",
- "SLEEPING",
- "WTEXIT",
- "WTOREVT",
- "WTANDEVT",
- "SNDMSGQ",
- "SNDMSG",
- "WTMSG",
- "WTQUEUE",
- "FINAL"
- };
-
- private void getSession(CDebugTarget target)
- throws DebugProxyException {
- ICDITarget[] targets = target.getCDISession().getTargets();
- ICDITarget cdi_target = null;
- for (int i = 0; i < targets.length; i++) {
- if (targets[i] instanceof Target) {
- cdi_target = targets[i];
- break;
- }
- }
- if (cdi_target == null)
- throw new DebugProxyException("no CDI session found");
- mi_session = ((Target)cdi_target).getMISession();
- cmd_factory = mi_session.getCommandFactory();
- }
-
- public DebugProxy()
- throws DebugProxyException {
- IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
- for (IDebugTarget target:targets) {
- if(target instanceof CDebugTarget) {
- getSession((CDebugTarget)target);
- return;
- }
- }
- }
-
- public DebugProxy(CDebugTarget target)
- throws DebugProxyException {
- getSession(target);
- }
-
- public String evaluateExpression(String expression)
- throws DebugProxyException {
- if (mi_session.getMIInferior().isRunning())
- return null;
- MIDataEvaluateExpression expr = cmd_factory.createMIDataEvaluateExpression(expression);
- try {
- mi_session.postCommand(expr);
- MIDataEvaluateExpressionInfo info = expr.getMIDataEvaluateExpressionInfo();
- if (info != null)
- return info.getExpression();
- } catch (MIException e) {}
- throw new DebugProxyException("error evaluating the expression: '" +
- expression + "'");
- }
-
- public long scanStack(long base, long end, long pattern)
- throws DebugProxyException {
- if (mi_session.getMIInferior().isRunning())
- return -1;
- if (end > base) {
- MIDataReadMemory mem = cmd_factory.createMIDataReadMemory(0,
- Long.toString(base),
- MIFormat.HEXADECIMAL,
- 4,
- 1,
- (int)(end - base),
- '.');
- try {
- mi_session.postCommand(mem);
- MIDataReadMemoryInfo info = mem.getMIDataReadMemoryInfo();
- if (info != null) {
- long[] data = info.getMemories()[0].getData();
- int i = 0;
- while ((i < data.length) && (data[i] == pattern))
- i++;
- return i * 4;
- }
- } catch (MIException e) {}
- throw new DebugProxyException("error reading memory at " +
- base);
- }
- return 0;
- }
-
- public String readCString(long address, int max)
- throws DebugProxyException {
- if (mi_session.getMIInferior().isRunning())
- return null;
- MIDataReadMemory mem = cmd_factory.createMIDataReadMemory(0,
- Long.toString(address),
- MIFormat.HEXADECIMAL,
- 1,
- 1,
- max,
- '.');
- try {
- mi_session.postCommand(mem);
- MIDataReadMemoryInfo info = mem.getMIDataReadMemoryInfo();
- if (info != null) {
- String s = info.getMemories()[0].getAscii();
- int i = s.indexOf('.');
- if (i >= 0)
- return s.substring(0, s.indexOf('.'));
- else
- return s;
- }
- } catch (MIException e) {}
- throw new DebugProxyException("error reading memory at " +
- address);
- }
-
- /**
- * @brief Return the list of threads.
- * @details The threads list is fetched from memory by scanning the
- * registry.
- *
- * @return A @p LinkedHashMap object whose keys are the threads addresses
- * as decimal strings, the value is an @p HashMap of the thread
- * fields:
- * - stack
- * - stklimit
- * - name
- * - state
- * - state_s
- * - flags
- * - prio
- * - refs
- * - time
- * - wtobjp
- * .
- * Missing fields are set to "-".
- * @retval null If the debugger encountered an error or
- * the target is running.
- *
- * @throws DebugProxyException If the debugger is active but the registry
- * is not found, not initialized or corrupted.
- */
- public LinkedHashMap<String, HashMap<String, String>> readThreads()
- throws DebugProxyException {
- // rlist structure address.
- String rlist;
- try {
- rlist = evaluateExpression("(uint32_t)&rlist");
- if (rlist == null)
- return null;
- } catch (DebugProxyException e) {
- throw new DebugProxyException("ChibiOS/RT not found on target");
- } catch (Exception e) {
- return null;
- }
-
- // Scanning registry.
- LinkedHashMap<String, HashMap<String, String>> lhm =
- new LinkedHashMap<String, HashMap<String, String>>(10);
- String current = rlist;
- String previous = rlist;
- while (true) {
-
- // Fetching next thread in the registry (newer link). This fetch fails
- // if the register is not enabled in the kernel and the p_newer field
- // does not exist.
- try {
- current = evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_newer");
- } catch (DebugProxyException e1) {
- throw new DebugProxyException("ChibiOS/RT registry not enabled in kernel");
- }
-
- // This can happen if the kernel is not initialized yet or if the
- // registry is corrupted.
- if (current.compareTo("0") == 0)
- throw new DebugProxyException("ChibiOS/RT registry integrity check failed, NULL pointer");
-
- // TODO: integrity check on the pointer value (alignment, range).
-
- // The previous thread in the list is fetched as a integrity check.
- String older = evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_older");
- if (older.compareTo("0") == 0)
- throw new DebugProxyException("ChibiOS/RT registry integrity check failed, NULL pointer");
- if (previous.compareTo(older) != 0)
- throw new DebugProxyException("ChibiOS/RT registry integrity check failed, double linked list violation");
-
- // End of the linked list condition.
- if (current.compareTo(rlist) == 0)
- break;
-
- // Hash of threads fields.
- HashMap<String, String> map = new HashMap<String, String>(16);
-
- // Fetch of the various fields in the Thread structure. Some fields
- // are optional so are placed within try-catch.
- long stklimit;
- try {
- stklimit = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_stklimit"));
- map.put("stklimit", Long.toString(stklimit));
- } catch (DebugProxyException e) {
- map.put("stklimit", "-");
- stklimit = -1;
- }
-
- long stack;
- try {
- stack = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_ctx.r13"));
- map.put("stack", Long.toString(stack));
- } catch (DebugProxyException e) {
- try {
- stack = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_ctx.sp"));
- map.put("stack", Long.toString(stack));
- } catch (DebugProxyException ex) {
- map.put("stack", "-");
- stack = -1;
- }
- }
-
- if ((stklimit < 0) || (stack < 0))
- map.put("stkunused", "-");
- else {
- if ((stack < 0) || (stack < stklimit))
- map.put("stkunused", "overflow");
- else {
- long stkunused = scanStack(stklimit, stack, 0x55555555);
- map.put("stkunused", Long.toString(stkunused));
- }
- }
-
- long n;
- try {
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_name"));
- if (n == 0)
- map.put("name", "<no name>");
- else
- map.put("name", readCString(n, 16));
- } catch (DebugProxyException e) {
- map.put("name", "-");
- }
-
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_state"));
- map.put("state", Long.toString(n));
- if ((n >= 0) && (n < threadStates.length)) {
- map.put("state_s", threadStates[(int)n]);
- }
- else
- map.put("state_s", "unknown");
-
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_flags"));
- map.put("flags", Long.toString(n));
-
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_prio"));
- map.put("prio", Long.toString(n));
-
- try {
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_refs"));
- map.put("refs", Long.toString(n));
- } catch (DebugProxyException e) {
- map.put("refs", "-");
- }
-
- try {
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_time"));
- map.put("time", Long.toString(n));
- } catch (DebugProxyException e) {
- map.put("time", "-");
- }
-
- try {
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + current + ")->p_u.wtobjp"));
- map.put("wtobjp", Long.toString(n));
- } catch (DebugProxyException e) {
- map.put("wtobjp", "-");
- }
-
- // Inserting the new thread map into the threads list.
- lhm.put(current, map);
-
- previous = current;
- }
- return lhm;
- }
-
- /**
- * @brief Return the list of timers.
- * @details The timers list is fetched from memory by scanning the
- * @p vtlist structure.
- *
- * @return A @p LinkedHashMap object whose keys are the timers addresses
- * as decimal strings, the value is an @p HashMap of the timers
- * fields:
- * - delta
- * - func
- * - par
- * .
- * @retval null If the debugger encountered an error or
- * the target is running.
- *
- * @throws DebugProxyException If the debugger is active but the structure
- * @p vtlist is not found, not initialized or
- * corrupted.
- */
- public LinkedHashMap<String, HashMap<String, String>> readTimers()
- throws DebugProxyException {
- // Delta list structure address.
- String vtlist;
- try {
- vtlist = evaluateExpression("(uint32_t)&vtlist");
- if (vtlist == null)
- return null;
- } catch (DebugProxyException e) {
- throw new DebugProxyException("ChibiOS/RT not found on target");
- } catch (Exception e) {
- return null;
- }
-
- // Scanning delta list.
- LinkedHashMap<String, HashMap<String, String>> lhm =
- new LinkedHashMap<String, HashMap<String, String>>(10);
- String current = vtlist;
- String previous = vtlist;
- while (true) {
-
- // Fetching next timer in the delta list (vt_next link).
- current = evaluateExpression("(uint32_t)((VirtualTimer *)" + current + ")->vt_next");
-
- // This can happen if the kernel is not initialized yet or if the
- // delta list is corrupted.
- if (current.compareTo("0") == 0)
- throw new DebugProxyException("ChibiOS/RT delta list integrity check failed, NULL pointer");
-
- // TODO: integrity check on the pointer value (alignment, range).
-
- // The previous timer in the delta list is fetched as a integrity check.
- String prev = evaluateExpression("(uint32_t)((VirtualTimer *)" + current + ")->vt_prev");
- if (prev.compareTo("0") == 0)
- throw new DebugProxyException("ChibiOS/RT delta list integrity check failed, NULL pointer");
- if (previous.compareTo(prev) != 0)
- throw new DebugProxyException("ChibiOS/RT delta list integrity check failed, double linked list violation");
-
- // End of the linked list condition.
- if (current.compareTo(vtlist) == 0)
- break;
-
- // Hash of timers fields.
- HashMap<String, String> map = new HashMap<String, String>(16);
-
- // Fetch of the various fields in the Thread structure. Some fields
- // are optional so are placed within try-catch.
- long n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((VirtualTimer *)" + current + ")->vt_time"));
- map.put("delta", Long.toString(n));
-
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((VirtualTimer *)" + current + ")->vt_func"));
- map.put("func", Long.toString(n));
-
- n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((VirtualTimer *)" + current + ")->vt_par"));
- map.put("par", Long.toString(n));
-
- // Inserting the new thread map into the threads list.
- lhm.put(current, map);
-
- previous = current;
- }
- return lhm;
- }
-
- /**
- * @brief Return the list of trace buffer entries.
- * @details The trace buffer is fetched from memory by scanning the
- * @p dbg_trace_buffer array.
- *
- * @return A @p LinkedHashMap object whose keys are the timers addresses
- * as decimal strings, the value is an @p HashMap of the timers
- * fields:
- * - time
- * - tp
- * - wtobjp
- * - state
- * - state_s
- * .
- * @retval null If the debugger encountered an error or
- * the target is running.
- *
- * @throws DebugProxyException If the debugger is active but the structure
- * @p dbg_trace_buffer is not found, not
- * initialized or corrupted.
- */
- public LinkedHashMap<String, HashMap<String, String>> readTraceBuffer()
- throws DebugProxyException {
-
- // Trace buffer size.
- String s;
- try {
- s = evaluateExpression("(uint32_t)dbg_trace_buffer.tb_size");
- if (s == null)
- return null;
- } catch (DebugProxyException e) {
- throw new DebugProxyException("trace buffer not found on target");
- } catch (Exception e) {
- return null;
- }
-
- int tbsize = (int)HexUtils.parseNumber(s);
- int tbrecsize = (int)HexUtils.parseNumber(evaluateExpression("(uint32_t)sizeof (ch_swc_event_t)"));
- long tbstart = HexUtils.parseNumber(evaluateExpression("(uint32_t)dbg_trace_buffer.tb_buffer"));
- long tbend = HexUtils.parseNumber(evaluateExpression("(uint32_t)&dbg_trace_buffer.tb_buffer[" + tbsize + "]"));
- long tbptr = HexUtils.parseNumber(evaluateExpression("(uint32_t)dbg_trace_buffer.tb_ptr"));
-
- // Scanning the trace buffer from the oldest event to the newest.
- LinkedHashMap<String, HashMap<String, String>> lhm =
- new LinkedHashMap<String, HashMap<String, String>>(64);
- int n = tbsize;
- int i = -tbsize + 1;
- while (n > 0) {
- // Hash of timers fields.
- HashMap<String, String> map = new HashMap<String, String>(16);
-
- String time = evaluateExpression("(uint32_t)(((ch_swc_event_t *)" + tbptr + ")->se_time)");
- map.put("time", time);
-
- String tp = evaluateExpression("(uint32_t)(((ch_swc_event_t *)" + tbptr + ")->se_tp)");
- map.put("tp", tp);
-
- String wtobjp = evaluateExpression("(uint32_t)(((ch_swc_event_t *)" + tbptr + ")->se_wtobjp)");
- map.put("wtobjp", wtobjp);
-
- long state = HexUtils.parseNumber(evaluateExpression("(uint32_t)(((ch_swc_event_t *)" + tbptr + ")->se_state)"));
- map.put("state", Long.toString(state));
- if ((state >= 0) && (state < threadStates.length))
- map.put("state_s", threadStates[(int)state]);
- else
- map.put("state_s", "unknown");
-
- // Inserting the new event map into the events list.
- if (tp.compareTo("0") != 0)
- lhm.put(Integer.toString(i), map);
-
- tbptr += tbrecsize;
- if (tbptr >= tbend)
- tbptr = tbstart;
- n--;
- i++;
- }
- return lhm;
- }
-
- /**
- * @brief Return the list of the system global variables.
- *
- * @return A @p LinkedHashMap object whose keys are the variable names and
- * the values are the variable values.
- *
- * @retval null If the debugger encountered an error or
- * the target is running.
- *
- * @throws DebugProxyException If the debugger is active but the structure
- * @p dbg_trace_buffer is not found, not
- * initialized or corrupted.
- */
- public LinkedHashMap<String, String> readGlobalVariables()
- throws DebugProxyException {
-
- LinkedHashMap<String, String> map = new LinkedHashMap<String, String>(16);
-
- try {
- String vt_systime = evaluateExpression("(uint32_t)vtlist.vt_systime");
- if (vt_systime == null)
- return null;
- map.put("vt_systime", vt_systime);
- } catch (DebugProxyException e) {
- throw new DebugProxyException("ChibiOS/RT not found on target");
- } catch (Exception e) {
- return null;
- }
-
- try {
- long r_current = HexUtils.parseNumber(evaluateExpression("(uint32_t)rlist.r_current"));
- if (r_current != 0) {
- String name;
- try {
- long n = HexUtils.parseNumber(evaluateExpression("(uint32_t)((Thread *)" + r_current + ")->p_name"));
- if (n == 0)
- name = "<no name>";
- else
- name = readCString(n, 16);
- } catch (DebugProxyException e) {
- name = "-";
- }
- map.put("r_current", HexUtils.dword2HexString((int)r_current) + " \"" + name + "\"");
- }
- else
- map.put("r_current", "0");
- } catch (DebugProxyException e) {}
-
- try {
- String r_preempt = evaluateExpression("(uint32_t)rlist.r_preempt");
- map.put("r_preempt", r_preempt);
- } catch (DebugProxyException e) {}
-
- try {
- Long addr = HexUtils.parseNumber(evaluateExpression("(uint32_t)dbg_panic_msg"));
- if (addr == 0)
- map.put("dbg_panic_msg", "<NULL>");
- else
- map.put("dbg_panic_msg", readCString(addr, 32));
- } catch (DebugProxyException e) {
- map.put("dbg_panic_msg", "<not enabled>");
- }
-
- try {
- Long isr_cnt = HexUtils.parseNumber(evaluateExpression("(uint32_t)dbg_isr_cnt"));
- if (isr_cnt == 0)
- map.put("dbg_isr_cnt", "not within ISR");
- else
- map.put("dbg_isr_cnt", "within ISR");
- } catch (DebugProxyException e) {
- map.put("dbg_isr_cnt", "<not enabled>");
- }
-
- try {
- Long lock_cnt = HexUtils.parseNumber(evaluateExpression("(uint32_t)dbg_lock_cnt"));
- if (lock_cnt == 0)
- map.put("dbg_lock_cnt", "not within lock");
- else
- map.put("dbg_lock_cnt", "within lock");
- } catch (DebugProxyException e) {
- map.put("dbg_lock_cnt", "<not enabled>");
- }
-
- return map;
- }
-}
diff --git a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxyException.java b/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxyException.java
deleted file mode 100644
index 62b791732..000000000
--- a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/DebugProxyException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.debug.utils;
-
-public class DebugProxyException extends Exception {
-
- private static final long serialVersionUID = 6860700758297226746L;
-
- public DebugProxyException() {
- super("Debug Proxy Exception");
- }
-
- public DebugProxyException(String s) {
- super(s);
- }
-}
diff --git a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/HexUtils.java b/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/HexUtils.java
deleted file mode 100644
index 983561cb0..000000000
--- a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/utils/HexUtils.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.debug.utils;
-
-public class HexUtils {
-
- protected final static String[] hexChars = {
- "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"
- };
-
- static public boolean isHexChar(char c) {
-
- if (Character.isDigit(c) || (c >= 'a') && (c <= 'f') ||
- (c >= 'A') && (c <= 'F'))
- return true;
- return false;
- }
-
- static public boolean isHexString(String hstring) {
- int l = hstring.length();
-
- if ((l & 1) == 1)
- return false;
-
- for (int i = 0; i < l; i++)
- if (!isHexChar(hstring.charAt(i)))
- return false;
- return true;
- }
-
- static public byte[] hexStringToByteArray(String hstring) {
-
- if (!isHexString(hstring))
- throw new NumberFormatException("not a hex string");
-
- byte[] result = new byte[hstring.length() / 2];
-
- for (int i = 0; i < hstring.length(); i += 2) {
- String toParse = hstring.substring(i, i + 2);
-
- result[i / 2] = (byte)Integer.parseInt(toParse, 16);
- }
- return result;
- }
-
- static public byte hexStringToByte(String hstring) {
-
- if (hstring.length() != 2)
- throw new NumberFormatException("not a byte hex string");
-
- return (byte)Integer.parseInt(hstring, 16);
- }
-
- static public String byteArrayToHexString(byte[] data) {
- StringBuffer out = new StringBuffer(data.length * 2);
-
- for (int i = 0; i < data.length; i++) {
- out.append(hexChars[(data[i] >> 4) & 15]);
- out.append(hexChars[data[i] & 15]);
- }
- return out.toString();
- }
-
- static public String byte2HexString(int b) {
-
- return hexChars[(b >> 4) & 15] + hexChars[b & 15];
- }
-
- static public String word2HexString(int w) {
-
- return hexChars[(w >> 12) & 15]
- + hexChars[(w >> 8) & 15]
- + hexChars[(w >> 4) & 15]
- + hexChars[w & 15];
- }
-
- static public String dword2HexString(int w) {
-
- return hexChars[(w >> 28) & 15]
- + hexChars[(w >> 24) & 15]
- + hexChars[(w >> 20) & 15]
- + hexChars[(w >> 16) & 15]
- + hexChars[(w >> 12) & 15]
- + hexChars[(w >> 8) & 15]
- + hexChars[(w >> 4) & 15]
- + hexChars[w & 15];
- }
-
- static public long parseNumber(String s) {
-
- if (s.toLowerCase().startsWith("0x"))
- return Long.parseLong(s.substring(2), 16);
- return Long.parseLong(s);
- }
-}
-
diff --git a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/views/ChibiView.java b/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/views/ChibiView.java
deleted file mode 100644
index 597a837c2..000000000
--- a/tools/eclipse/debug_support/src/org/chibios/tools/eclipse/debug/views/ChibiView.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.chibios.tools.eclipse.debug.views;
-
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.chibios.tools.eclipse.debug.utils.DebugProxy;
-import org.chibios.tools.eclipse.debug.utils.DebugProxyException;
-import org.chibios.tools.eclipse.debug.utils.HexUtils;
-
-import org.eclipse.ui.internal.IWorkbenchThemeConstants;
-import org.eclipse.ui.part.*;
-import org.eclipse.ui.themes.ITheme;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.cdt.debug.internal.core.model.CDebugTarget;
-import org.eclipse.wb.swt.SWTResourceManager;
-import org.eclipse.wb.swt.ResourceManager;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-
-/**
- * This sample class demonstrates how to plug-in a new workbench view. The view
- * shows data obtained from the model. The sample creates a dummy model on the
- * fly, but a real implementation would connect to the model available either in
- * this or another plug-in (e.g. the workspace). The view is connected to the
- * model using a content provider.
- * <p>
- * The view uses a label provider to define how model objects should be
- * presented in the view. Each view can present the same model objects using
- * different labels and icons, if needed. Alternatively, a single label provider
- * can be shared between views in order to ensure that objects of the same type
- * are presented in the same way everywhere.
- * <p>
- */
-
-@SuppressWarnings("restriction")
-public class ChibiView extends ViewPart implements IDebugEventSetListener {
-
- /**
- * The ID of the view as specified by the extension.
- */
- public static final String ID = "org.chibios.tools.eclipse.debug.views.ChibiView";
-
- private CTabFolder tabFolder;
- private CTabItem tbtmGlobal;
- private CTabItem tbtmThreads;
- private CTabItem tbtmTimers;
- private CTabItem tbtmTraceBuffer;
-
- private Action refreshAction;
- private Table threadsTable;
- private Table timersTable;
-
- private DebugProxy debugger;
- private Table tbTable;
- private Table globalTable;
-
- private ITheme theme;
-
- private FocusAdapter focus = new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- setInactive();
- }
- @Override
- public void focusGained(FocusEvent e) {
- setActive();
- }
- };
-
- /**
- * The constructor.
- */
- public ChibiView() {
-
- theme = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
- }
-
- private void setActive() {
- tabFolder.setSelectionBackground(
- new org.eclipse.swt.graphics.Color[] {
- theme.getColorRegistry().get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_START),
- theme.getColorRegistry().get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_END)
- },
- new int[] {100},
- true);
- tabFolder.setSelectionForeground(theme.getColorRegistry().get(IWorkbenchThemeConstants.ACTIVE_TAB_TEXT_COLOR));
- }
-
- private void setInactive() {
- tabFolder.setSelectionBackground(
- new org.eclipse.swt.graphics.Color[] {
- theme.getColorRegistry().get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_START),
- theme.getColorRegistry().get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_END)
- },
- new int[] {theme.getInt(IWorkbenchThemeConstants.ACTIVE_TAB_PERCENT)},
- true);
- tabFolder.setSelectionForeground(theme.getColorRegistry().get(IWorkbenchThemeConstants.INACTIVE_TAB_TEXT_COLOR));
- }
-
- /**
- * This is a callback that will allow us to create the viewer and initialize
- * it.
- */
- public void createPartControl(Composite parent) {
-
- tabFolder = new CTabFolder(parent, SWT.BORDER | SWT.BOTTOM);
- tabFolder.setFont(theme.getFontRegistry().get(IWorkbenchThemeConstants.TAB_TEXT_FONT));
- tabFolder.setBackground(theme.getColorRegistry().get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_END));
- tabFolder.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- setActive();
- tabFolder.getSelection().getControl().setFocus();
- }
- });
- tabFolder.addFocusListener(new FocusAdapter() {
- @Override
- public void focusGained(FocusEvent e) {
- tabFolder.getSelection().getControl().setFocus();
- }
- });
- setInactive();
- tabFolder.setSimple(false);
-
- tbtmGlobal = new CTabItem(tabFolder, SWT.NONE);
- tbtmGlobal.setText("Global");
-
- globalTable = new Table(tabFolder, SWT.FULL_SELECTION);
- globalTable.addFocusListener(focus);
- globalTable.setFont(SWTResourceManager.getFont("Courier New", 8, SWT.NORMAL));
- tbtmGlobal.setControl(globalTable);
- globalTable.setHeaderVisible(true);
-
- TableColumn tblclmnGlobalHidden = new TableColumn(globalTable, SWT.RIGHT);
- tblclmnGlobalHidden.setWidth(0);
- tblclmnGlobalHidden.setText("");
-
- TableColumn tblclmnGlobalVariableName = new TableColumn(globalTable, SWT.LEFT);
- tblclmnGlobalVariableName.setWidth(150);
- tblclmnGlobalVariableName.setText("Variable");
-
- TableColumn tblclmnGlobalVariableValue = new TableColumn(globalTable, SWT.LEFT);
- tblclmnGlobalVariableValue.setWidth(300);
- tblclmnGlobalVariableValue.setText("Value");
-
- tbtmThreads = new CTabItem(tabFolder, SWT.NONE);
- tbtmThreads.setText("Threads");
-
- threadsTable = new Table(tabFolder, SWT.FULL_SELECTION);
- threadsTable.addFocusListener(focus);
- tbtmThreads.setControl(threadsTable);
- threadsTable.setFont(SWTResourceManager.getFont("Courier New", 8, SWT.NORMAL));
- threadsTable.setHeaderVisible(true);
-
- TableColumn tblclmnThreadAddress = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadAddress.setWidth(72);
- tblclmnThreadAddress.setText("Address");
-
- TableColumn tblclmnThreadLimit = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadLimit.setWidth(72);
- tblclmnThreadLimit.setText("StkLimit");
-
- TableColumn tblclmnThreadStack = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadStack.setWidth(72);
- tblclmnThreadStack.setText("Stack");
-
- TableColumn tblclmnThreadUsed = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadUsed.setWidth(72);
- tblclmnThreadUsed.setText("StkUnused");
-
- TableColumn tblclmnThreadName = new TableColumn(threadsTable, SWT.LEFT);
- tblclmnThreadName.setWidth(144);
- tblclmnThreadName.setText("Name");
-
- TableColumn tblclmnThreadState = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadState.setWidth(72);
- tblclmnThreadState.setText("State");
-
- TableColumn tblclmnThreadFlags = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadFlags.setWidth(40);
- tblclmnThreadFlags.setText("Flgs");
-
- TableColumn tblclmnThreadPriority = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadPriority.setWidth(40);
- tblclmnThreadPriority.setText("Prio");
-
- TableColumn tblclmnThreadRefs = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadRefs.setWidth(40);
- tblclmnThreadRefs.setText("Refs");
-
- TableColumn tblclmnThreadTime = new TableColumn(threadsTable, SWT.RIGHT);
- tblclmnThreadTime.setWidth(64);
- tblclmnThreadTime.setText("Time");
-
- TableColumn tblclmnThreadShared = new TableColumn(threadsTable, SWT.LEFT);
- tblclmnThreadShared.setWidth(72);
- tblclmnThreadShared.setText("Obj/Msg");
-
- tbtmTimers = new CTabItem(tabFolder, SWT.NONE);
- tbtmTimers.setText("Timers");
-
- timersTable = new Table(tabFolder, SWT.FULL_SELECTION);
- timersTable.addFocusListener(focus);
- tbtmTimers.setControl(timersTable);
- timersTable.setFont(SWTResourceManager.getFont("Courier New", 8, SWT.NORMAL));
- timersTable.setHeaderVisible(true);
-
- TableColumn tblclmnTimerAddress = new TableColumn(timersTable, SWT.RIGHT);
- tblclmnTimerAddress.setWidth(72);
- tblclmnTimerAddress.setText("Address");
-
- TableColumn tblclmnTimerTime = new TableColumn(timersTable, SWT.RIGHT);
- tblclmnTimerTime.setWidth(72);
- tblclmnTimerTime.setText("Time");
-
- TableColumn tblclmnTimerDelta = new TableColumn(timersTable, SWT.RIGHT);
- tblclmnTimerDelta.setWidth(72);
- tblclmnTimerDelta.setText("Delta");
-
- TableColumn tblclmnTimerCallback = new TableColumn(timersTable, SWT.RIGHT);
- tblclmnTimerCallback.setWidth(72);
- tblclmnTimerCallback.setText("Callback");
-
- TableColumn tblclmnTimerParameter = new TableColumn(timersTable, SWT.LEFT);
- tblclmnTimerParameter.setWidth(72);
- tblclmnTimerParameter.setText("Param");
-
- tbtmTraceBuffer = new CTabItem(tabFolder, SWT.NONE);
- tbtmTraceBuffer.setText("TraceBuffer");
-
- tbTable = new Table(tabFolder, SWT.FULL_SELECTION);
- tbTable.addFocusListener(focus);
- tbTable.setFont(SWTResourceManager.getFont("Courier New", 8, SWT.NORMAL));
- tbtmTraceBuffer.setControl(tbTable);
- tbTable.setHeaderVisible(true);
-
- TableColumn tblclmnTraceBufferHidden = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferHidden.setWidth(0);
- tblclmnTraceBufferHidden.setText("");
-
- TableColumn tblclmnTraceBufferIndex = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferIndex.setWidth(48);
- tblclmnTraceBufferIndex.setText("Event");
-
- TableColumn tblclmnTraceBufferTime = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferTime.setWidth(64);
- tblclmnTraceBufferTime.setText("Time");
-
- TableColumn tblclmnTraceBufferPrevAddress = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferPrevAddress.setWidth(72);
- tblclmnTraceBufferPrevAddress.setText("Previous");
-
- TableColumn tblclmnTraceBufferPrevName = new TableColumn(tbTable, SWT.LEFT);
- tblclmnTraceBufferPrevName.setWidth(144);
- tblclmnTraceBufferPrevName.setText("Previous Name");
-
- TableColumn tblclmnTraceBufferState = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferState.setWidth(72);
- tblclmnTraceBufferState.setText("State");
-
- TableColumn tblclmnTraceBufferShared = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferShared.setWidth(72);
- tblclmnTraceBufferShared.setText("Obj/Msg");
-
- TableColumn tblclmnTraceBufferCurrentAddress = new TableColumn(tbTable, SWT.RIGHT);
- tblclmnTraceBufferCurrentAddress.setWidth(72);
- tblclmnTraceBufferCurrentAddress.setText("Current");
-
- TableColumn tblclmnTraceBufferCurrentName = new TableColumn(tbTable, SWT.LEFT);
- tblclmnTraceBufferCurrentName.setWidth(144);
- tblclmnTraceBufferCurrentName.setText("Current Name");
-
- makeActions();
- hookContextMenu();
- contributeToActionBars();
-
- tabFolder.setSelection(tbtmGlobal);
-
- DebugPlugin.getDefault().addDebugEventListener(this);
-
- try {
- debugger = new DebugProxy();
- } catch (DebugProxyException e) {}
- }
-
- /**
- * @brief Handling events from the debugger.
- */
- @Override
- public void handleDebugEvents(DebugEvent[] events) {
- for (DebugEvent event : events) {
- switch (event.getKind()) {
- case DebugEvent.CREATE:
- Object source = event.getSource();
- if (source instanceof CDebugTarget) {
- try {
- debugger = new DebugProxy((CDebugTarget)source);
- } catch (DebugProxyException e) {}
- }
- break;
- }
- }
- }
-
- private void hookContextMenu() {
- MenuManager menuMgr = new MenuManager("#PopupMenu");
- menuMgr.setRemoveAllWhenShown(true);
- menuMgr.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- ChibiView.this.fillContextMenu(manager);
- }
- });
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- private void fillLocalPullDown(IMenuManager manager) {
- manager.add(refreshAction);
-/* manager.add(new Separator());
- manager.add(refreshAction);*/
- }
-
- private void fillContextMenu(IMenuManager manager) {
- manager.add(refreshAction);
- // Other plug-ins can contribute there actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.add(refreshAction);
- }
-
- private void fillGlobalTable() {
- LinkedHashMap<String, String> lhm;
-
- // If the debugger is not yet present then do nothing.
- if (debugger == null)
- return;
-
- // Reading the list of global variables, null can be returned if the debugger
- // does not respond.
- try {
- lhm = debugger.readGlobalVariables();
- if (lhm == null)
- return;
- } catch (DebugProxyException e) {
- showMessage("Error: " + e.getMessage() + ".");
- return;
- }
-
- globalTable.removeAll();
-
- Set<Entry<String, String>> set = lhm.entrySet();
- for (Entry<String, String> entry : set) {
- TableItem tableItem = new TableItem(globalTable, SWT.NONE);
- tableItem.setText(new String[] {
- "",
- entry.getKey(),
- entry.getValue()
- });
- }
- }
-
- private String makeHex(String s) {
- try {
- s = HexUtils.dword2HexString((int)HexUtils.parseNumber(s));
- } catch (Exception e) {}
- return s;
- }
-
- private void fillThreadsTable() {
- LinkedHashMap<String, HashMap<String, String>> lhm;
-
- // If the debugger is not yet present then do nothing.
- if (debugger == null)
- return;
-
- // Reading the list of threads, null can be returned if the debugger
- // does not respond.
- try {
- lhm = debugger.readThreads();
- if (lhm == null)
- return;
- } catch (DebugProxyException e) {
- showMessage("Error: " + e.getMessage() + ".");
- return;
- }
-
- threadsTable.removeAll();
-
- Set<Entry<String, HashMap<String, String>>> set = lhm.entrySet();
- for (Entry<String, HashMap<String, String>> entry : set) {
- HashMap<String, String> map = entry.getValue();
- TableItem tableItem = new TableItem(threadsTable, SWT.NONE);
- tableItem.setText(new String[] {
- makeHex(entry.getKey()),
- makeHex(map.get("stklimit")),
- makeHex(map.get("stack")),
- map.get("stkunused"),
- map.get("name"),
- map.get("state_s"),
- HexUtils.byte2HexString((int)HexUtils.parseNumber(map.get("flags"))),
- map.get("prio"),
- map.get("refs"),
- map.get("time"),
- makeHex(map.get("wtobjp"))
- });
- }
- }
-
- private void fillTimersTable() {
- LinkedHashMap<String, HashMap<String, String>> lhm;
-
- // If the debugger is not yet present then do nothing.
- if (debugger == null)
- return;
-
- // Reading the list of threads, null can be returned if the debugger
- // does not respond.
- try {
- lhm = debugger.readTimers();
- if (lhm == null)
- return;
- } catch (DebugProxyException e) {
- showMessage("Error: " + e.getMessage() + ".");
- return;
- }
-
- timersTable.removeAll();
-
- Set<Entry<String, HashMap<String, String>>> set = lhm.entrySet();
- long time = 0;
- for (Entry<String, HashMap<String, String>> entry : set) {
- HashMap<String, String> map = entry.getValue();
- time = time + HexUtils.parseNumber(map.get("delta"));
- TableItem tableItem = new TableItem(timersTable, SWT.NONE);
- tableItem.setText(new String[] {
- makeHex(entry.getKey()),
- Long.toString(time),
- "+" + HexUtils.parseNumber(map.get("delta")),
- makeHex(map.get("func")),
- makeHex(map.get("par"))
- });
- }
- }
-
- private void fillTraceBufferTable() {
- LinkedHashMap<String, HashMap<String, String>> lhm, lhmthreads;
-
- // If the debugger is not yet present then do nothing.
- if (debugger == null)
- return;
-
- // Read active threads for retrieving names.
- try {
- lhmthreads = debugger.readThreads();
- if (lhmthreads == null)
- return;
- } catch (DebugProxyException e) {
- lhmthreads = new LinkedHashMap<String, HashMap<String, String>>(0);
- }
-
- // Reading the list of threads, null can be returned if the debugger
- // does not respond.
- try {
- lhm = debugger.readTraceBuffer();
- if (lhm == null)
- return;
- } catch (DebugProxyException e) {
- showMessage("Error: " + e.getMessage() + ".");
- return;
- }
-
- tbTable.removeAll();
-
- Set<Entry<String, HashMap<String, String>>> set = lhm.entrySet();
- String prev = "";
- String prevname = "";
- for (Entry<String, HashMap<String, String>> entry : set) {
- HashMap<String, String> map = entry.getValue();
- TableItem tableItem = new TableItem(tbTable, SWT.NONE);
-
- // Searches the current thread into the threads map.
- String currentaddr = map.get("tp");
- HashMap<String, String> thread = lhmthreads.get(currentaddr);
- String currentname;
- if (thread != null)
- currentname = thread.get("name");
- else
- currentname = "";
-
- String current = makeHex(currentaddr);
- tableItem.setText(new String[] {
- "",
- entry.getKey(),
- map.get("time"),
- prev,
- prevname,
- map.get("state_s"),
- makeHex(map.get("wtobjp")),
- current,
- currentname
- });
- prev = current;
- prevname = currentname;
- }
- }
-
- private void makeActions() {
-
- // Refresh action.
- refreshAction = new Action() {
- public void run() {
- CTabItem tabitem = tabFolder.getSelection();
- if (tabitem == null)
- return;
- if (tabitem == tbtmGlobal)
- fillGlobalTable();
- else if (tabitem == tbtmThreads)
- fillThreadsTable();
- else if (tabitem == tbtmTimers)
- fillTimersTable();
- else if (tabitem == tbtmTraceBuffer)
- fillTraceBufferTable();
- }
- };
- refreshAction.setDisabledImageDescriptor(ResourceManager.getPluginImageDescriptor("org.eclipse.cdt.ui", "/icons/dlcl16/refresh_nav.gif"));
- refreshAction.setImageDescriptor(ResourceManager.getPluginImageDescriptor("org.eclipse.cdt.ui", "/icons/elcl16/refresh_nav.gif"));
- refreshAction.setText("Refresh");
- refreshAction.setToolTipText("Refresh timers list");
- }
-
- private void showMessage(String message) {
- MessageDialog.openInformation(tabFolder.getShell(),
- "ChibiOS/RT Views", message);
- }
-
- /**
- * Passing the focus request to the viewer's control.
- */
- public void setFocus() {
- tabFolder.setFocus();
- }
-}
diff --git a/tools/eclipse/debug_support/src/org/eclipse/wb/swt/ResourceManager.java b/tools/eclipse/debug_support/src/org/eclipse/wb/swt/ResourceManager.java
deleted file mode 100644
index 4bfbc6b6e..000000000
--- a/tools/eclipse/debug_support/src/org/eclipse/wb/swt/ResourceManager.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Google, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wb.swt;
-
-import java.io.File;
-import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.osgi.framework.Bundle;
-
-/**
- * Utility class for managing OS resources associated with SWT/JFace controls such as colors, fonts, images,
- * etc.
- *
- * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code> method to release the
- * operating system resources managed by cached objects when those objects and OS resources are no longer
- * needed (e.g. on application shutdown)
- *
- * This class may be freely distributed as part of any application or plugin.
- * <p>
- *
- * @author scheglov_ke
- * @author Dan Rubel
- */
-public class ResourceManager extends SWTResourceManager {
- ////////////////////////////////////////////////////////////////////////////
- //
- // Image
- //
- ////////////////////////////////////////////////////////////////////////////
- private static Map<ImageDescriptor, Image> m_descriptorImageMap = new HashMap<ImageDescriptor, Image>();
- /**
- * Returns an {@link ImageDescriptor} stored in the file at the specified path relative to the specified
- * class.
- *
- * @param clazz
- * the {@link Class} relative to which to find the image descriptor.
- * @param path
- * the path to the image file.
- * @return the {@link ImageDescriptor} stored in the file at the specified path.
- */
- public static ImageDescriptor getImageDescriptor(Class<?> clazz, String path) {
- return ImageDescriptor.createFromFile(clazz, path);
- }
- /**
- * Returns an {@link ImageDescriptor} stored in the file at the specified path.
- *
- * @param path
- * the path to the image file.
- * @return the {@link ImageDescriptor} stored in the file at the specified path.
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- try {
- return ImageDescriptor.createFromURL(new File(path).toURI().toURL());
- } catch (MalformedURLException e) {
- return null;
- }
- }
- /**
- * Returns an {@link Image} based on the specified {@link ImageDescriptor}.
- *
- * @param descriptor
- * the {@link ImageDescriptor} for the {@link Image}.
- * @return the {@link Image} based on the specified {@link ImageDescriptor}.
- */
- public static Image getImage(ImageDescriptor descriptor) {
- if (descriptor == null) {
- return null;
- }
- Image image = m_descriptorImageMap.get(descriptor);
- if (image == null) {
- image = descriptor.createImage();
- m_descriptorImageMap.put(descriptor, image);
- }
- return image;
- }
- /**
- * Maps images to decorated images.
- */
- @SuppressWarnings("unchecked")
- private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated.
- * @param decorator
- * the {@link Image} to decorate the base image.
- * @return {@link Image} The resulting decorated image.
- */
- public static Image decorateImage(Image baseImage, Image decorator) {
- return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
- }
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated.
- * @param decorator
- * the {@link Image} to decorate the base image.
- * @param corner
- * the corner to place decorator image.
- * @return the resulting decorated {@link Image}.
- */
- public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
- if (corner <= 0 || corner >= LAST_CORNER_KEY) {
- throw new IllegalArgumentException("Wrong decorate corner");
- }
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
- if (cornerDecoratedImageMap == null) {
- cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
- m_decoratedImageMap[corner] = cornerDecoratedImageMap;
- }
- Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
- if (decoratedMap == null) {
- decoratedMap = new HashMap<Image, Image>();
- cornerDecoratedImageMap.put(baseImage, decoratedMap);
- }
- //
- Image result = decoratedMap.get(decorator);
- if (result == null) {
- final Rectangle bib = baseImage.getBounds();
- final Rectangle dib = decorator.getBounds();
- final Point baseImageSize = new Point(bib.width, bib.height);
- CompositeImageDescriptor compositImageDesc = new CompositeImageDescriptor() {
- @Override
- protected void drawCompositeImage(int width, int height) {
- drawImage(baseImage.getImageData(), 0, 0);
- if (corner == TOP_LEFT) {
- drawImage(decorator.getImageData(), 0, 0);
- } else if (corner == TOP_RIGHT) {
- drawImage(decorator.getImageData(), bib.width - dib.width, 0);
- } else if (corner == BOTTOM_LEFT) {
- drawImage(decorator.getImageData(), 0, bib.height - dib.height);
- } else if (corner == BOTTOM_RIGHT) {
- drawImage(decorator.getImageData(), bib.width - dib.width, bib.height - dib.height);
- }
- }
- @Override
- protected Point getSize() {
- return baseImageSize;
- }
- };
- //
- result = compositImageDesc.createImage();
- decoratedMap.put(decorator, result);
- }
- return result;
- }
- /**
- * Dispose all of the cached images.
- */
- public static void disposeImages() {
- SWTResourceManager.disposeImages();
- // dispose ImageDescriptor images
- {
- for (Iterator<Image> I = m_descriptorImageMap.values().iterator(); I.hasNext();) {
- I.next().dispose();
- }
- m_descriptorImageMap.clear();
- }
- // dispose decorated images
- for (int i = 0; i < m_decoratedImageMap.length; i++) {
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
- if (cornerDecoratedImageMap != null) {
- for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
- for (Image image : decoratedMap.values()) {
- image.dispose();
- }
- decoratedMap.clear();
- }
- cornerDecoratedImageMap.clear();
- }
- }
- // dispose plugin images
- {
- for (Iterator<Image> I = m_URLImageMap.values().iterator(); I.hasNext();) {
- I.next().dispose();
- }
- m_URLImageMap.clear();
- }
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Plugin images support
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps URL to images.
- */
- private static Map<String, Image> m_URLImageMap = new HashMap<String, Image>();
- /**
- * Provider for plugin resources, used by WindowBuilder at design time.
- */
- public interface PluginResourceProvider {
- URL getEntry(String symbolicName, String path);
- }
- /**
- * Instance of {@link PluginResourceProvider}, used by WindowBuilder at design time.
- */
- private static PluginResourceProvider m_designTimePluginResourceProvider = null;
- /**
- * Returns an {@link Image} based on a plugin and file path.
- *
- * @param plugin
- * the plugin {@link Object} containing the image
- * @param name
- * the path to the image within the plugin
- * @return the {@link Image} stored in the file at the specified path
- *
- * @deprecated Use {@link #getPluginImage(String, String)} instead.
- */
- @Deprecated
- public static Image getPluginImage(Object plugin, String name) {
- try {
- URL url = getPluginImageURL(plugin, name);
- if (url != null) {
- return getPluginImageFromUrl(url);
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link Image} based on a {@link Bundle} and resource entry path.
- *
- * @param symbolicName
- * the symbolic name of the {@link Bundle}.
- * @param path
- * the path of the resource entry.
- * @return the {@link Image} stored in the file at the specified path.
- */
- public static Image getPluginImage(String symbolicName, String path) {
- try {
- URL url = getPluginImageURL(symbolicName, path);
- if (url != null) {
- return getPluginImageFromUrl(url);
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link Image} based on given {@link URL}.
- */
- private static Image getPluginImageFromUrl(URL url) {
- try {
- try {
- String key = url.toExternalForm();
- Image image = m_URLImageMap.get(key);
- if (image == null) {
- InputStream stream = url.openStream();
- try {
- image = getImage(stream);
- m_URLImageMap.put(key, image);
- } finally {
- stream.close();
- }
- }
- return image;
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link ImageDescriptor} based on a plugin and file path.
- *
- * @param plugin
- * the plugin {@link Object} containing the image.
- * @param name
- * the path to th eimage within the plugin.
- * @return the {@link ImageDescriptor} stored in the file at the specified path.
- *
- * @deprecated Use {@link #getPluginImageDescriptor(String, String)} instead.
- */
- @Deprecated
- public static ImageDescriptor getPluginImageDescriptor(Object plugin, String name) {
- try {
- try {
- URL url = getPluginImageURL(plugin, name);
- return ImageDescriptor.createFromURL(url);
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
- *
- * @param symbolicName
- * the symbolic name of the {@link Bundle}.
- * @param path
- * the path of the resource entry.
- * @return the {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
- */
- public static ImageDescriptor getPluginImageDescriptor(String symbolicName, String path) {
- try {
- URL url = getPluginImageURL(symbolicName, path);
- if (url != null) {
- return ImageDescriptor.createFromURL(url);
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link URL} based on a {@link Bundle} and resource entry path.
- */
- private static URL getPluginImageURL(String symbolicName, String path) {
- // try runtime plugins
- {
- Bundle bundle = Platform.getBundle(symbolicName);
- if (bundle != null) {
- return bundle.getEntry(path);
- }
- }
- // try design time provider
- if (m_designTimePluginResourceProvider != null) {
- return m_designTimePluginResourceProvider.getEntry(symbolicName, path);
- }
- // no such resource
- return null;
- }
- /**
- * Returns an {@link URL} based on a plugin and file path.
- *
- * @param plugin
- * the plugin {@link Object} containing the file path.
- * @param name
- * the file path.
- * @return the {@link URL} representing the file at the specified path.
- * @throws Exception
- */
- private static URL getPluginImageURL(Object plugin, String name) throws Exception {
- // try to work with 'plugin' as with OSGI BundleContext
- try {
- Class<?> BundleClass = Class.forName("org.osgi.framework.Bundle"); //$NON-NLS-1$
- Class<?> BundleContextClass = Class.forName("org.osgi.framework.BundleContext"); //$NON-NLS-1$
- if (BundleContextClass.isAssignableFrom(plugin.getClass())) {
- Method getBundleMethod = BundleContextClass.getMethod("getBundle", new Class[0]); //$NON-NLS-1$
- Object bundle = getBundleMethod.invoke(plugin, new Object[0]);
- //
- Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
- Constructor<?> pathConstructor = PathClass.getConstructor(new Class[]{String.class});
- Object path = pathConstructor.newInstance(new Object[]{name});
- //
- Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
- Class<?> PlatformClass = Class.forName("org.eclipse.core.runtime.Platform"); //$NON-NLS-1$
- Method findMethod = PlatformClass.getMethod("find", new Class[]{BundleClass, IPathClass}); //$NON-NLS-1$
- return (URL) findMethod.invoke(null, new Object[]{bundle, path});
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- // else work with 'plugin' as with usual Eclipse plugin
- {
- Class<?> PluginClass = Class.forName("org.eclipse.core.runtime.Plugin"); //$NON-NLS-1$
- if (PluginClass.isAssignableFrom(plugin.getClass())) {
- //
- Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
- Constructor<?> pathConstructor = PathClass.getConstructor(new Class[]{String.class});
- Object path = pathConstructor.newInstance(new Object[]{name});
- //
- Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
- Method findMethod = PluginClass.getMethod("find", new Class[]{IPathClass}); //$NON-NLS-1$
- return (URL) findMethod.invoke(plugin, new Object[]{path});
- }
- }
- return null;
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // General
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
- * objects are no longer needed (e.g. on application shutdown).
- */
- public static void dispose() {
- disposeColors();
- disposeFonts();
- disposeImages();
- }
-} \ No newline at end of file
diff --git a/tools/eclipse/debug_support/src/org/eclipse/wb/swt/SWTResourceManager.java b/tools/eclipse/debug_support/src/org/eclipse/wb/swt/SWTResourceManager.java
deleted file mode 100644
index 8b6d4cc3f..000000000
--- a/tools/eclipse/debug_support/src/org/eclipse/wb/swt/SWTResourceManager.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Google, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wb.swt;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Utility class for managing OS resources associated with SWT controls such as colors, fonts, images, etc.
- * <p>
- * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code> method to release the
- * operating system resources managed by cached objects when those objects and OS resources are no longer
- * needed (e.g. on application shutdown)
- * <p>
- * This class may be freely distributed as part of any application or plugin.
- * <p>
- * @author scheglov_ke
- * @author Dan Rubel
- */
-public class SWTResourceManager {
- ////////////////////////////////////////////////////////////////////////////
- //
- // Color
- //
- ////////////////////////////////////////////////////////////////////////////
- private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
- /**
- * Returns the system {@link Color} matching the specific ID.
- *
- * @param systemColorID
- * the ID value for the color
- * @return the system {@link Color} matching the specific ID
- */
- public static Color getColor(int systemColorID) {
- Display display = Display.getCurrent();
- return display.getSystemColor(systemColorID);
- }
- /**
- * Returns a {@link Color} given its red, green and blue component values.
- *
- * @param r
- * the red component of the color
- * @param g
- * the green component of the color
- * @param b
- * the blue component of the color
- * @return the {@link Color} matching the given red, green and blue component values
- */
- public static Color getColor(int r, int g, int b) {
- return getColor(new RGB(r, g, b));
- }
- /**
- * Returns a {@link Color} given its RGB value.
- *
- * @param rgb
- * the {@link RGB} value of the color
- * @return the {@link Color} matching the RGB value
- */
- public static Color getColor(RGB rgb) {
- Color color = m_colorMap.get(rgb);
- if (color == null) {
- Display display = Display.getCurrent();
- color = new Color(display, rgb);
- m_colorMap.put(rgb, color);
- }
- return color;
- }
- /**
- * Dispose of all the cached {@link Color}'s.
- */
- public static void disposeColors() {
- for (Color color : m_colorMap.values()) {
- color.dispose();
- }
- m_colorMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Image
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps image paths to images.
- */
- private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
- /**
- * Returns an {@link Image} encoded by the specified {@link InputStream}.
- *
- * @param stream
- * the {@link InputStream} encoding the image data
- * @return the {@link Image} encoded by the specified input stream
- */
- protected static Image getImage(InputStream stream) throws IOException {
- try {
- Display display = Display.getCurrent();
- ImageData data = new ImageData(stream);
- if (data.transparentPixel > 0) {
- return new Image(display, data, data.getTransparencyMask());
- }
- return new Image(display, data);
- } finally {
- stream.close();
- }
- }
- /**
- * Returns an {@link Image} stored in the file at the specified path.
- *
- * @param path
- * the path to the image file
- * @return the {@link Image} stored in the file at the specified path
- */
- public static Image getImage(String path) {
- Image image = m_imageMap.get(path);
- if (image == null) {
- try {
- image = getImage(new FileInputStream(path));
- m_imageMap.put(path, image);
- } catch (Exception e) {
- image = getMissingImage();
- m_imageMap.put(path, image);
- }
- }
- return image;
- }
- /**
- * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
- *
- * @param clazz
- * the {@link Class} relative to which to find the image
- * @param path
- * the path to the image file, if starts with <code>'/'</code>
- * @return the {@link Image} stored in the file at the specified path
- */
- public static Image getImage(Class<?> clazz, String path) {
- String key = clazz.getName() + '|' + path;
- Image image = m_imageMap.get(key);
- if (image == null) {
- try {
- image = getImage(clazz.getResourceAsStream(path));
- m_imageMap.put(key, image);
- } catch (Exception e) {
- image = getMissingImage();
- m_imageMap.put(key, image);
- }
- }
- return image;
- }
- private static final int MISSING_IMAGE_SIZE = 10;
- /**
- * @return the small {@link Image} that can be used as placeholder for missing image.
- */
- private static Image getMissingImage() {
- Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
- //
- GC gc = new GC(image);
- gc.setBackground(getColor(SWT.COLOR_RED));
- gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
- gc.dispose();
- //
- return image;
- }
- /**
- * Style constant for placing decorator image in top left corner of base image.
- */
- public static final int TOP_LEFT = 1;
- /**
- * Style constant for placing decorator image in top right corner of base image.
- */
- public static final int TOP_RIGHT = 2;
- /**
- * Style constant for placing decorator image in bottom left corner of base image.
- */
- public static final int BOTTOM_LEFT = 3;
- /**
- * Style constant for placing decorator image in bottom right corner of base image.
- */
- public static final int BOTTOM_RIGHT = 4;
- /**
- * Internal value.
- */
- protected static final int LAST_CORNER_KEY = 5;
- /**
- * Maps images to decorated images.
- */
- @SuppressWarnings("unchecked")
- private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated
- * @param decorator
- * the {@link Image} to decorate the base image
- * @return {@link Image} The resulting decorated image
- */
- public static Image decorateImage(Image baseImage, Image decorator) {
- return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
- }
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated
- * @param decorator
- * the {@link Image} to decorate the base image
- * @param corner
- * the corner to place decorator image
- * @return the resulting decorated {@link Image}
- */
- public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
- if (corner <= 0 || corner >= LAST_CORNER_KEY) {
- throw new IllegalArgumentException("Wrong decorate corner");
- }
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
- if (cornerDecoratedImageMap == null) {
- cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
- m_decoratedImageMap[corner] = cornerDecoratedImageMap;
- }
- Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
- if (decoratedMap == null) {
- decoratedMap = new HashMap<Image, Image>();
- cornerDecoratedImageMap.put(baseImage, decoratedMap);
- }
- //
- Image result = decoratedMap.get(decorator);
- if (result == null) {
- Rectangle bib = baseImage.getBounds();
- Rectangle dib = decorator.getBounds();
- //
- result = new Image(Display.getCurrent(), bib.width, bib.height);
- //
- GC gc = new GC(result);
- gc.drawImage(baseImage, 0, 0);
- if (corner == TOP_LEFT) {
- gc.drawImage(decorator, 0, 0);
- } else if (corner == TOP_RIGHT) {
- gc.drawImage(decorator, bib.width - dib.width, 0);
- } else if (corner == BOTTOM_LEFT) {
- gc.drawImage(decorator, 0, bib.height - dib.height);
- } else if (corner == BOTTOM_RIGHT) {
- gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
- }
- gc.dispose();
- //
- decoratedMap.put(decorator, result);
- }
- return result;
- }
- /**
- * Dispose all of the cached {@link Image}'s.
- */
- public static void disposeImages() {
- // dispose loaded images
- {
- for (Image image : m_imageMap.values()) {
- image.dispose();
- }
- m_imageMap.clear();
- }
- // dispose decorated images
- for (int i = 0; i < m_decoratedImageMap.length; i++) {
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
- if (cornerDecoratedImageMap != null) {
- for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
- for (Image image : decoratedMap.values()) {
- image.dispose();
- }
- decoratedMap.clear();
- }
- cornerDecoratedImageMap.clear();
- }
- }
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Font
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps font names to fonts.
- */
- private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
- /**
- * Maps fonts to their bold versions.
- */
- private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
- /**
- * Returns a {@link Font} based on its name, height and style.
- *
- * @param name
- * the name of the font
- * @param height
- * the height of the font
- * @param style
- * the style of the font
- * @return {@link Font} The font matching the name, height and style
- */
- public static Font getFont(String name, int height, int style) {
- return getFont(name, height, style, false, false);
- }
- /**
- * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
- * flags are also supported.
- *
- * @param name
- * the name of the font
- * @param size
- * the size of the font
- * @param style
- * the style of the font
- * @param strikeout
- * the strikeout flag (warning: Windows only)
- * @param underline
- * the underline flag (warning: Windows only)
- * @return {@link Font} The font matching the name, height, style, strikeout and underline
- */
- public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
- String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
- Font font = m_fontMap.get(fontName);
- if (font == null) {
- FontData fontData = new FontData(name, size, style);
- if (strikeout || underline) {
- try {
- Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
- Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
- if (logFont != null && logFontClass != null) {
- if (strikeout) {
- logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
- }
- if (underline) {
- logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
- }
- }
- } catch (Throwable e) {
- System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- font = new Font(Display.getCurrent(), fontData);
- m_fontMap.put(fontName, font);
- }
- return font;
- }
- /**
- * Returns a bold version of the given {@link Font}.
- *
- * @param baseFont
- * the {@link Font} for which a bold version is desired
- * @return the bold version of the given {@link Font}
- */
- public static Font getBoldFont(Font baseFont) {
- Font font = m_fontToBoldFontMap.get(baseFont);
- if (font == null) {
- FontData fontDatas[] = baseFont.getFontData();
- FontData data = fontDatas[0];
- font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
- m_fontToBoldFontMap.put(baseFont, font);
- }
- return font;
- }
- /**
- * Dispose all of the cached {@link Font}'s.
- */
- public static void disposeFonts() {
- // clear fonts
- for (Font font : m_fontMap.values()) {
- font.dispose();
- }
- m_fontMap.clear();
- // clear bold fonts
- for (Font font : m_fontToBoldFontMap.values()) {
- font.dispose();
- }
- m_fontToBoldFontMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Cursor
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps IDs to cursors.
- */
- private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
- /**
- * Returns the system cursor matching the specific ID.
- *
- * @param id
- * int The ID value for the cursor
- * @return Cursor The system cursor matching the specific ID
- */
- public static Cursor getCursor(int id) {
- Integer key = Integer.valueOf(id);
- Cursor cursor = m_idToCursorMap.get(key);
- if (cursor == null) {
- cursor = new Cursor(Display.getDefault(), id);
- m_idToCursorMap.put(key, cursor);
- }
- return cursor;
- }
- /**
- * Dispose all of the cached cursors.
- */
- public static void disposeCursors() {
- for (Cursor cursor : m_idToCursorMap.values()) {
- cursor.dispose();
- }
- m_idToCursorMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // General
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
- * objects are no longer needed (e.g. on application shutdown).
- */
- public static void dispose() {
- disposeColors();
- disposeImages();
- disposeFonts();
- disposeCursors();
- }
-} \ No newline at end of file
diff --git a/tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.2.1.jar b/tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.2.1.jar
deleted file mode 100644
index e29e8a946..000000000
--- a/tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.2.1.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/plugins/org.chibios.tools.eclipse.debug_1.0.8.jar b/tools/eclipse/plugins/org.chibios.tools.eclipse.debug_1.0.8.jar
deleted file mode 100644
index ecd42c1f9..000000000
--- a/tools/eclipse/plugins/org.chibios.tools.eclipse.debug_1.0.8.jar
+++ /dev/null
Binary files differ
diff --git a/tools/eclipse/readme.txt b/tools/eclipse/readme.txt
deleted file mode 100644
index 07e387f9e..000000000
--- a/tools/eclipse/readme.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-This folder contains ChibiOS/RT related Eclipse extensions:
-
-- org.chibios.tools.eclipse.debug_x.y.z.jar, debugger extension that allows to
- inspect the ChibiOS/RT internal data structures at debug time. This plugin
- is best used when the kernel debug options are turned on.
- Installation:
- - Copy the plugin under [eclipse]/plugins.
- - Start Eclipse and enable the plugin from:
- Window->Show View->Others...->ChibiOS/RT
- - Make sure that Eclipse is using the "Standard Debugger" from:
- Window->Preferences->Run/Debug->Launching->Default Launchers->
- GDB Hardware Debugging->[Debug]
- - Start a debug session of a ChibiOS/RT demo or application and step until
- after chSysInit() has been invoked.
- - Inspect the various structures (Timers, Threads etc) using the ChibiOS/RT
- view by pressing the yellow refresh button.