diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index da7ec2a1a..7b7e8df86 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -30,11 +30,11 @@ import java.util.List; import javax.swing.*; -import processing.app.debug.Compiler; import processing.app.debug.TargetPackage; import processing.app.debug.TargetPlatform; import processing.app.helpers.PreferencesMap; import processing.app.helpers.filefilters.OnlyDirs; +import processing.app.helpers.filefilters.OnlyFilesWithExtension; import processing.core.*; import static processing.app.I18n._; @@ -237,12 +237,6 @@ public class Base { public Base(String[] args) { platform.init(this); - // Get paths for the libraries and examples in the Processing folder - //String workingDirectory = System.getProperty("user.dir"); - examplesFolder = getContentFile("examples"); - librariesFolder = getContentFile("libraries"); - toolsFolder = getContentFile("tools"); - // Get the sketchbook path, and make sure it's set properly String sketchbookPath = Preferences.get("sketchbook.path"); @@ -273,6 +267,8 @@ public class Base { packages = new HashMap(); loadHardware(getHardwareFolder()); loadHardware(getSketchbookHardwareFolder()); + // Setup board-dependent variables. + onBoardOrPortChange(); // Check if there were previously opened sketches to be restored boolean opened = restoreSketches(); @@ -302,7 +298,7 @@ public class Base { handleNew(); } - // check for updates + // Check for updates if (Preferences.getBoolean("update.check")) { new UpdateCheck(this); } @@ -942,7 +938,6 @@ public class Base { } public void rebuildImportMenu(JMenu importMenu) { - // System.out.println("rebuilding import menu"); importMenu.removeAll(); // reset the set of libraries @@ -959,13 +954,12 @@ public class Base { // correct name and core path. PreferencesMap prefs = getTargetPlatform().getPreferences(); String targetname = prefs.get("name"); - String libraryPath = prefs.get("library.core.path"); JMenuItem platformItem = new JMenuItem(targetname); platformItem.setEnabled(false); importMenu.add(platformItem); importMenu.addSeparator(); - addLibraries(importMenu, getCoreLibraries(libraryPath)); + addLibraries(importMenu, librariesFolder); } catch (IOException e) { e.printStackTrace(); } @@ -1002,6 +996,15 @@ public class Base { public void onBoardOrPortChange() { + // Calculate paths for libraries and examples + examplesFolder = getContentFile("examples"); + TargetPlatform targetPlatform = getTargetPlatform(); + PreferencesMap prefs = targetPlatform.getPreferences(); + librariesFolder = new File(targetPlatform.getFolder(), prefs + .get("library.core.path")); + toolsFolder = getContentFile("tools"); + + // Update editors status bar for (Editor editor : editors) { editor.onBoardOrPortChange(); } @@ -1009,73 +1012,79 @@ public class Base { @SuppressWarnings("serial") - public void rebuildBoardsMenu(JMenu menu) { - //System.out.println("rebuilding boards menu"); - menu.removeAll(); + public void rebuildBoardsMenu(JMenu menu) { + String selPackage = Preferences.get("target_package"); + String selPlatform = Preferences.get("target_platform"); + String selBoard = Preferences.get("board"); + + menu.removeAll(); ButtonGroup group = new ButtonGroup(); - for (TargetPackage targetPackage : packages.values()) { - for (TargetPlatform targetPlatform : targetPackage.platforms()) { - for (String board : targetPlatform.getBoards().keySet()) { - AbstractAction action = new AbstractAction(targetPlatform.getBoards().get( - board).get("name")) { - public void actionPerformed(ActionEvent actionevent) { - // System.out.println("Switching to " + target + ":" + board); - Preferences.set("package", (String) getValue("package")); - Preferences.set("platform", (String) getValue("platform")); - Preferences.set("board", (String) getValue("board")); - onBoardOrPortChange(); - Sketch.buildSettingChanged(); - // Debug: created new imports menu based on board - rebuildImportMenu(activeEditor.importMenu); - } - }; - action.putValue("package", targetPackage.getName()); - action.putValue("platform", targetPlatform.getName()); - action.putValue("board", board); - JMenuItem item = new JRadioButtonMenuItem(action); - if (targetPackage.getName().equals(Preferences.get("package")) - && targetPlatform.getName().equals(Preferences.get("platform")) - && board.equals(Preferences.get("board"))) { - item.setSelected(true); - } - group.add(item); - menu.add(item); - } - } - } + // Cycle through all packages + for (TargetPackage targetPackage : packages.values()) { + String packageName = targetPackage.getName(); + + // For every package cycle through all platform + for (TargetPlatform targetPlatform : targetPackage.platforms()) { + String platformName = targetPlatform.getName(); + Map boards = targetPlatform.getBoards(); + + // For every platform cycle throug all boards + for (String board : boards.keySet()) { + + // Setup a menu item for the current board + String boardName = boards.get(board).get("name"); + AbstractAction action = new AbstractAction(boardName) { + public void actionPerformed(ActionEvent actionevent) { + Preferences.set("target_package", (String) getValue("package")); + Preferences.set("target_platform", (String) getValue("platform")); + Preferences.set("board", (String) getValue("board")); + + onBoardOrPortChange(); + Sketch.buildSettingChanged(); + rebuildImportMenu(Editor.importMenu); + rebuildExamplesMenu(Editor.examplesMenu); + } + }; + action.putValue("package", packageName); + action.putValue("platform", platformName); + action.putValue("board", board); + JMenuItem item = new JRadioButtonMenuItem(action); + if (packageName.equals(selPackage) && + platformName.equals(selPlatform) && board.equals(selBoard)) { + item.setSelected(true); + } + group.add(item); + menu.add(item); + } + } + } } - @SuppressWarnings("serial") - public void rebuildProgrammerMenu(JMenu menu) { - //System.out.println("rebuilding programmer menu"); - menu.removeAll(); + public void rebuildProgrammerMenu(JMenu menu) { + menu.removeAll(); ButtonGroup group = new ButtonGroup(); - for (TargetPackage targetPackage : packages.values()) { - for (TargetPlatform targetPlatform : targetPackage.platforms()) { - for (String programmer : targetPlatform.getProgrammers().keySet()) { - String id = targetPackage.getName() + ":" + targetPlatform.getName() + ":" - + programmer; - AbstractAction action = new AbstractAction(targetPlatform.getProgrammers() - .get(programmer).get("name")) { - public void actionPerformed(ActionEvent actionevent) { - Preferences.set("programmer", "" + getValue("id")); - } - }; -// action.putValue("package", targetPackage.getName()); -// action.putValue("platform", targetPlatform.getName()); -// action.putValue("programmer", programmer); - action.putValue("id", id); - JMenuItem item = new JRadioButtonMenuItem(action); - if (Preferences.get("programmer").equals(id)) - item.setSelected(true); - group.add(item); - menu.add(item); - } - } - } - } - + for (TargetPackage targetPackage : packages.values()) { + for (TargetPlatform targetPlatform : targetPackage.platforms()) { + for (String programmer : targetPlatform.getProgrammers().keySet()) { + String id = targetPackage.getName() + ":" + targetPlatform.getName() + + ":" + programmer; + AbstractAction action = new AbstractAction(targetPlatform + .getProgrammers().get(programmer).get("name")) { + public void actionPerformed(ActionEvent actionevent) { + Preferences.set("programmer", "" + getValue("id")); + } + }; + action.putValue("id", id); + JMenuItem item = new JRadioButtonMenuItem(action); + if (Preferences.get("programmer").equals(id)) + item.setSelected(true); + group.add(item); + menu.add(item); + } + } + } + } /** * Scan a folder recursively, and add any sketches found to the menu @@ -1098,26 +1107,26 @@ public class Base { //PApplet.println(list); ActionListener listener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - String path = e.getActionCommand(); - if (new File(path).exists()) { - boolean replace = replaceExisting; - if ((e.getModifiers() & ActionEvent.SHIFT_MASK) != 0) { - replace = !replace; - } - if (replace) { - handleOpenReplace(path); - } else { - handleOpen(path); - } - } else { - showWarning(_("Sketch Does Not Exist"), - _("The selected sketch no longer exists.\n" + - "You may need to restart Arduino to update\n" + - "the sketchbook menu."), null); + public void actionPerformed(ActionEvent e) { + String path = e.getActionCommand(); + if (new File(path).exists()) { + boolean replace = replaceExisting; + if ((e.getModifiers() & ActionEvent.SHIFT_MASK) != 0) { + replace = !replace; } + if (replace) { + handleOpenReplace(path); + } else { + handleOpen(path); + } + } else { + showWarning(_("Sketch Does Not Exist"), + _("The selected sketch no longer exists.\n" + + "You may need to restart Arduino to update\n" + + "the sketchbook menu."), null); } - }; + } + }; // offers no speed improvement //menu.addActionListener(listener); @@ -1183,89 +1192,65 @@ public class Base { protected boolean addLibraries(JMenu menu, File folder) throws IOException { - if (!folder.isDirectory()) return false; + if (!folder.isDirectory()) + return false; - String list[] = folder.list(new FilenameFilter() { - public boolean accept(File dir, String name) { - // skip .DS_Store files, .svn folders, etc - if (name.charAt(0) == '.') return false; - if (name.equals("CVS")) return false; - return (new File(dir, name).isDirectory()); - } - }); + String list[] = folder.list(new OnlyDirs()); // if a bad folder or something like that, this might come back null - if (list == null) return false; + if (list == null) + return false; // alphabetize list, since it's not always alpha order // replaced hella slow bubble sort with this feller for 0093 Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); ActionListener listener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - activeEditor.getSketch().importLibrary(e.getActionCommand()); - } - }; + public void actionPerformed(ActionEvent e) { + activeEditor.getSketch().importLibrary(e.getActionCommand()); + } + }; - boolean ifound = false; + boolean found = false; - for (String potentialName : list) { - File subfolder = new File(folder, potentialName); -// File libraryFolder = new File(subfolder, "library"); -// File libraryJar = new File(libraryFolder, potentialName + ".jar"); -// // If a .jar file of the same prefix as the folder exists -// // inside the 'library' subfolder of the sketch -// if (libraryJar.exists()) { - String sanityCheck = Sketch.sanitizeName(potentialName); - if (!sanityCheck.equals(potentialName)) { - String mess = I18n.format( - _("The library \"{0}\" cannot be used.\n" + - "Library names must contain only basic letters and numbers.\n" + - "(ASCII only and no spaces, and it cannot start with a number)"), - potentialName - ); - Base.showMessage(_("Ignoring bad library name"), mess); - continue; - } + for (String libraryName : list) { + File subfolder = new File(folder, libraryName); + String sanityCheck = Sketch.sanitizeName(libraryName); + if (!sanityCheck.equals(libraryName)) { + String mess = I18n.format(_("The library \"{0}\" cannot be used.\n" + + "Library names must contain only basic letters and numbers.\n" + + "(ASCII only and no spaces, and it cannot start with a number)"), + libraryName); + Base.showMessage(_("Ignoring bad library name"), mess); + continue; + } - String libraryName = potentialName; -// // get the path for all .jar files in this code folder -// String libraryClassPath = -// Compiler.contentsToClassPath(libraryFolder); -// // grab all jars and classes from this folder, -// // and append them to the library classpath -// librariesClassPath += -// File.pathSeparatorChar + libraryClassPath; -// // need to associate each import with a library folder -// String packages[] = -// Compiler.packageListFromClassPath(libraryClassPath); - libraries.add(subfolder); - String packages[] = - Compiler.headerListFromIncludePath(subfolder.getAbsolutePath()); - for (String pkg : packages) { - importToLibraryTable.put(pkg, subfolder); - } + libraries.add(subfolder); - JMenuItem item = new JMenuItem(libraryName); - item.addActionListener(listener); - item.setActionCommand(subfolder.getAbsolutePath()); - menu.add(item); - ifound = true; + String packages[] = headerListFromIncludePath(subfolder); + for (String pkg : packages) { + importToLibraryTable.put(pkg, subfolder); + } -// XXX: DAM: should recurse here so that library folders can be nested -// } else { // not a library, but is still a folder, so recurse -// JMenu submenu = new JMenu(libraryName); -// // needs to be separate var, otherwise would set ifound to false -// boolean found = addLibraries(submenu, subfolder); -// if (found) { -// menu.add(submenu); -// ifound = true; -// } -// } + JMenuItem item = new JMenuItem(libraryName); + item.addActionListener(listener); + item.setActionCommand(subfolder.getAbsolutePath()); + menu.add(item); + found = true; + + // XXX: DAM: should recurse here so that library folders can be nested } - return ifound; + return found; } - - + + /** + * Given a folder, return a list of the header files in that folder (but not + * the header files in its sub-folders, as those should be included from + * within the header files at the top-level). + */ + static public String[] headerListFromIncludePath(File path) { + return path.list(new OnlyFilesWithExtension(".h")); + } + protected void loadHardware(File folder) { if (!folder.isDirectory()) return; @@ -1291,6 +1276,7 @@ public class Base { /** * Show the About box. */ + @SuppressWarnings("serial") public void handleAbout() { final Image image = Base.getLibImage("about.jpg", activeEditor); final Window window = new Window(activeEditor) { @@ -1588,11 +1574,8 @@ public class Base { static public PreferencesMap getBoardPreferences() { TargetPlatform target = getTargetPlatform(); - if (target != null) { - String board = Preferences.get("board"); - return target.getBoards().get(board); - } - return new PreferencesMap(); + String board = Preferences.get("board"); + return target.getBoards().get(board); } static public File getSketchbookFolder() { diff --git a/app/src/processing/app/Sketch.java b/app/src/processing/app/Sketch.java index 31182dead..1515f26b3 100644 --- a/app/src/processing/app/Sketch.java +++ b/app/src/processing/app/Sketch.java @@ -33,16 +33,11 @@ import processing.core.*; import static processing.app.I18n._; import java.awt.*; -import java.awt.event.*; -import java.beans.*; import java.io.*; import java.util.*; import java.util.List; -import java.util.zip.*; import javax.swing.*; -import javax.swing.border.EmptyBorder; -import javax.swing.border.TitledBorder; /** @@ -1132,7 +1127,7 @@ public class Sketch { // make sure the user didn't hide the sketch folder ensureExistence(); - String list[] = Compiler.headerListFromIncludePath(jarPath); + String list[] = Base.headerListFromIncludePath(new File(jarPath)); // import statements into the main sketch file (code[0]) // if the current code is a .java file, insert into current diff --git a/app/src/processing/app/debug/Compiler.java b/app/src/processing/app/debug/Compiler.java index f721c850c..ffdec571e 100644 --- a/app/src/processing/app/debug/Compiler.java +++ b/app/src/processing/app/debug/Compiler.java @@ -28,7 +28,6 @@ import static processing.app.I18n._; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; -import java.io.FilenameFilter; import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; @@ -120,7 +119,6 @@ public class Compiler implements MessageConsumer { re.hideStackTrace(); throw re; } - File coreFolder; if (!core.contains(":")) { TargetPlatform t = Base.getTargetPlatform(); @@ -538,21 +536,6 @@ public class Compiler implements MessageConsumer { throw new RunnerException("Couldn't create: " + folder); } - /** - * Given a folder, return a list of the header files in that folder (but not - * the header files in its sub-folders, as those should be included from - * within the header files at the top-level). - */ - static public String[] headerListFromIncludePath(String path) { - FilenameFilter onlyHFiles = new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".h"); - } - }; - - return (new File(path)).list(onlyHFiles); - } - static public List findFilesInFolder(File folder, String extension, boolean recurse) { List files = new ArrayList(); diff --git a/app/src/processing/app/helpers/filefilters/OnlyFilesWithExtension.java b/app/src/processing/app/helpers/filefilters/OnlyFilesWithExtension.java new file mode 100644 index 000000000..3b2f8a3a6 --- /dev/null +++ b/app/src/processing/app/helpers/filefilters/OnlyFilesWithExtension.java @@ -0,0 +1,43 @@ +/* + OnlyFilesWithExtension - FilenameFilter that accepts only files with a + specific extension. + Part of the Arduino project - http://www.arduino.cc/ + + Copyright (c) 2011 Cristian Maglie + + This program 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 2 of the License, or + (at your option) any later version. + + This program 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, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package processing.app.helpers.filefilters; + +import java.io.File; +import java.io.FilenameFilter; + +public class OnlyFilesWithExtension implements FilenameFilter { + + String extensions[]; + + public OnlyFilesWithExtension(String... ext) { + extensions = ext; + } + + @Override + public boolean accept(File dir, String name) { + for (String ext : extensions) + if (name.endsWith(ext)) + return true; + return false; + } + +} diff --git a/build/build.xml b/build/build.xml index 167531df0..37458fb7a 100644 --- a/build/build.xml +++ b/build/build.xml @@ -81,11 +81,6 @@ - - - - - diff --git a/libraries/EEPROM/EEPROM.cpp b/hardware/arduino/avr/libraries/EEPROM/EEPROM.cpp similarity index 100% rename from libraries/EEPROM/EEPROM.cpp rename to hardware/arduino/avr/libraries/EEPROM/EEPROM.cpp diff --git a/libraries/EEPROM/EEPROM.h b/hardware/arduino/avr/libraries/EEPROM/EEPROM.h similarity index 100% rename from libraries/EEPROM/EEPROM.h rename to hardware/arduino/avr/libraries/EEPROM/EEPROM.h diff --git a/libraries/EEPROM/examples/eeprom_clear/eeprom_clear.ino b/hardware/arduino/avr/libraries/EEPROM/examples/eeprom_clear/eeprom_clear.ino similarity index 100% rename from libraries/EEPROM/examples/eeprom_clear/eeprom_clear.ino rename to hardware/arduino/avr/libraries/EEPROM/examples/eeprom_clear/eeprom_clear.ino diff --git a/libraries/EEPROM/examples/eeprom_read/eeprom_read.ino b/hardware/arduino/avr/libraries/EEPROM/examples/eeprom_read/eeprom_read.ino similarity index 100% rename from libraries/EEPROM/examples/eeprom_read/eeprom_read.ino rename to hardware/arduino/avr/libraries/EEPROM/examples/eeprom_read/eeprom_read.ino diff --git a/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino b/hardware/arduino/avr/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino similarity index 100% rename from libraries/EEPROM/examples/eeprom_write/eeprom_write.ino rename to hardware/arduino/avr/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino diff --git a/libraries/EEPROM/keywords.txt b/hardware/arduino/avr/libraries/EEPROM/keywords.txt similarity index 100% rename from libraries/EEPROM/keywords.txt rename to hardware/arduino/avr/libraries/EEPROM/keywords.txt diff --git a/libraries/Ethernet/Dhcp.cpp b/hardware/arduino/avr/libraries/Ethernet/Dhcp.cpp similarity index 100% rename from libraries/Ethernet/Dhcp.cpp rename to hardware/arduino/avr/libraries/Ethernet/Dhcp.cpp diff --git a/libraries/Ethernet/Dhcp.h b/hardware/arduino/avr/libraries/Ethernet/Dhcp.h similarity index 100% rename from libraries/Ethernet/Dhcp.h rename to hardware/arduino/avr/libraries/Ethernet/Dhcp.h diff --git a/libraries/Ethernet/Dns.cpp b/hardware/arduino/avr/libraries/Ethernet/Dns.cpp similarity index 100% rename from libraries/Ethernet/Dns.cpp rename to hardware/arduino/avr/libraries/Ethernet/Dns.cpp diff --git a/libraries/Ethernet/Dns.h b/hardware/arduino/avr/libraries/Ethernet/Dns.h similarity index 100% rename from libraries/Ethernet/Dns.h rename to hardware/arduino/avr/libraries/Ethernet/Dns.h diff --git a/libraries/Ethernet/Ethernet.cpp b/hardware/arduino/avr/libraries/Ethernet/Ethernet.cpp similarity index 100% rename from libraries/Ethernet/Ethernet.cpp rename to hardware/arduino/avr/libraries/Ethernet/Ethernet.cpp diff --git a/libraries/Ethernet/Ethernet.h b/hardware/arduino/avr/libraries/Ethernet/Ethernet.h similarity index 100% rename from libraries/Ethernet/Ethernet.h rename to hardware/arduino/avr/libraries/Ethernet/Ethernet.h diff --git a/libraries/Ethernet/EthernetClient.cpp b/hardware/arduino/avr/libraries/Ethernet/EthernetClient.cpp similarity index 100% rename from libraries/Ethernet/EthernetClient.cpp rename to hardware/arduino/avr/libraries/Ethernet/EthernetClient.cpp diff --git a/libraries/Ethernet/EthernetClient.h b/hardware/arduino/avr/libraries/Ethernet/EthernetClient.h similarity index 100% rename from libraries/Ethernet/EthernetClient.h rename to hardware/arduino/avr/libraries/Ethernet/EthernetClient.h diff --git a/libraries/Ethernet/EthernetServer.cpp b/hardware/arduino/avr/libraries/Ethernet/EthernetServer.cpp similarity index 100% rename from libraries/Ethernet/EthernetServer.cpp rename to hardware/arduino/avr/libraries/Ethernet/EthernetServer.cpp diff --git a/libraries/Ethernet/EthernetServer.h b/hardware/arduino/avr/libraries/Ethernet/EthernetServer.h similarity index 100% rename from libraries/Ethernet/EthernetServer.h rename to hardware/arduino/avr/libraries/Ethernet/EthernetServer.h diff --git a/libraries/Ethernet/EthernetUdp.cpp b/hardware/arduino/avr/libraries/Ethernet/EthernetUdp.cpp similarity index 100% rename from libraries/Ethernet/EthernetUdp.cpp rename to hardware/arduino/avr/libraries/Ethernet/EthernetUdp.cpp diff --git a/libraries/Ethernet/EthernetUdp.h b/hardware/arduino/avr/libraries/Ethernet/EthernetUdp.h similarity index 100% rename from libraries/Ethernet/EthernetUdp.h rename to hardware/arduino/avr/libraries/Ethernet/EthernetUdp.h diff --git a/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino b/hardware/arduino/avr/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino similarity index 100% rename from libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino diff --git a/libraries/Ethernet/examples/ChatServer/ChatServer.ino b/hardware/arduino/avr/libraries/Ethernet/examples/ChatServer/ChatServer.ino similarity index 100% rename from libraries/Ethernet/examples/ChatServer/ChatServer.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/ChatServer/ChatServer.ino diff --git a/libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.ino b/hardware/arduino/avr/libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.ino similarity index 100% rename from libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.ino diff --git a/libraries/Ethernet/examples/DhcpChatServer/DhcpChatServer.ino b/hardware/arduino/avr/libraries/Ethernet/examples/DhcpChatServer/DhcpChatServer.ino similarity index 100% rename from libraries/Ethernet/examples/DhcpChatServer/DhcpChatServer.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/DhcpChatServer/DhcpChatServer.ino diff --git a/libraries/Ethernet/examples/DnsWebClient/DnsWebClient.ino b/hardware/arduino/avr/libraries/Ethernet/examples/DnsWebClient/DnsWebClient.ino similarity index 100% rename from libraries/Ethernet/examples/DnsWebClient/DnsWebClient.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/DnsWebClient/DnsWebClient.ino diff --git a/libraries/Ethernet/examples/PachubeClient/PachubeClient.ino b/hardware/arduino/avr/libraries/Ethernet/examples/PachubeClient/PachubeClient.ino similarity index 100% rename from libraries/Ethernet/examples/PachubeClient/PachubeClient.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/PachubeClient/PachubeClient.ino diff --git a/libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino b/hardware/arduino/avr/libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino similarity index 100% rename from libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino diff --git a/libraries/Ethernet/examples/TelnetClient/TelnetClient.ino b/hardware/arduino/avr/libraries/Ethernet/examples/TelnetClient/TelnetClient.ino similarity index 100% rename from libraries/Ethernet/examples/TelnetClient/TelnetClient.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/TelnetClient/TelnetClient.ino diff --git a/libraries/Ethernet/examples/TwitterClient/TwitterClient.ino b/hardware/arduino/avr/libraries/Ethernet/examples/TwitterClient/TwitterClient.ino similarity index 100% rename from libraries/Ethernet/examples/TwitterClient/TwitterClient.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/TwitterClient/TwitterClient.ino diff --git a/libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.ino b/hardware/arduino/avr/libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.ino similarity index 100% rename from libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.ino diff --git a/libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.ino b/hardware/arduino/avr/libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.ino similarity index 100% rename from libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.ino diff --git a/libraries/Ethernet/examples/WebClient/WebClient.ino b/hardware/arduino/avr/libraries/Ethernet/examples/WebClient/WebClient.ino similarity index 100% rename from libraries/Ethernet/examples/WebClient/WebClient.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/WebClient/WebClient.ino diff --git a/libraries/Ethernet/examples/WebServer/WebServer.ino b/hardware/arduino/avr/libraries/Ethernet/examples/WebServer/WebServer.ino similarity index 100% rename from libraries/Ethernet/examples/WebServer/WebServer.ino rename to hardware/arduino/avr/libraries/Ethernet/examples/WebServer/WebServer.ino diff --git a/libraries/Ethernet/keywords.txt b/hardware/arduino/avr/libraries/Ethernet/keywords.txt similarity index 100% rename from libraries/Ethernet/keywords.txt rename to hardware/arduino/avr/libraries/Ethernet/keywords.txt diff --git a/libraries/Ethernet/util.h b/hardware/arduino/avr/libraries/Ethernet/util.h similarity index 100% rename from libraries/Ethernet/util.h rename to hardware/arduino/avr/libraries/Ethernet/util.h diff --git a/libraries/Ethernet/utility/socket.cpp b/hardware/arduino/avr/libraries/Ethernet/utility/socket.cpp similarity index 100% rename from libraries/Ethernet/utility/socket.cpp rename to hardware/arduino/avr/libraries/Ethernet/utility/socket.cpp diff --git a/libraries/Ethernet/utility/socket.h b/hardware/arduino/avr/libraries/Ethernet/utility/socket.h similarity index 100% rename from libraries/Ethernet/utility/socket.h rename to hardware/arduino/avr/libraries/Ethernet/utility/socket.h diff --git a/libraries/Ethernet/utility/w5100.cpp b/hardware/arduino/avr/libraries/Ethernet/utility/w5100.cpp similarity index 100% rename from libraries/Ethernet/utility/w5100.cpp rename to hardware/arduino/avr/libraries/Ethernet/utility/w5100.cpp diff --git a/libraries/Ethernet/utility/w5100.h b/hardware/arduino/avr/libraries/Ethernet/utility/w5100.h similarity index 100% rename from libraries/Ethernet/utility/w5100.h rename to hardware/arduino/avr/libraries/Ethernet/utility/w5100.h diff --git a/libraries/Firmata/Boards.h b/hardware/arduino/avr/libraries/Firmata/Boards.h similarity index 100% rename from libraries/Firmata/Boards.h rename to hardware/arduino/avr/libraries/Firmata/Boards.h diff --git a/libraries/Firmata/Firmata.cpp b/hardware/arduino/avr/libraries/Firmata/Firmata.cpp similarity index 100% rename from libraries/Firmata/Firmata.cpp rename to hardware/arduino/avr/libraries/Firmata/Firmata.cpp diff --git a/libraries/Firmata/Firmata.h b/hardware/arduino/avr/libraries/Firmata/Firmata.h similarity index 100% rename from libraries/Firmata/Firmata.h rename to hardware/arduino/avr/libraries/Firmata/Firmata.h diff --git a/libraries/Firmata/LICENSE.txt b/hardware/arduino/avr/libraries/Firmata/LICENSE.txt similarity index 100% rename from libraries/Firmata/LICENSE.txt rename to hardware/arduino/avr/libraries/Firmata/LICENSE.txt diff --git a/libraries/Firmata/TODO.txt b/hardware/arduino/avr/libraries/Firmata/TODO.txt similarity index 100% rename from libraries/Firmata/TODO.txt rename to hardware/arduino/avr/libraries/Firmata/TODO.txt diff --git a/libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.ino similarity index 100% rename from libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.ino diff --git a/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino similarity index 100% rename from libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino diff --git a/libraries/Firmata/examples/EchoString/EchoString.ino b/hardware/arduino/avr/libraries/Firmata/examples/EchoString/EchoString.ino similarity index 100% rename from libraries/Firmata/examples/EchoString/EchoString.ino rename to hardware/arduino/avr/libraries/Firmata/examples/EchoString/EchoString.ino diff --git a/libraries/Firmata/examples/I2CFirmata/I2CFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/I2CFirmata/I2CFirmata.ino similarity index 100% rename from libraries/Firmata/examples/I2CFirmata/I2CFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/I2CFirmata/I2CFirmata.ino diff --git a/libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt b/hardware/arduino/avr/libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt similarity index 100% rename from libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt rename to hardware/arduino/avr/libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt diff --git a/libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.ino similarity index 100% rename from libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.ino diff --git a/libraries/Firmata/examples/ServoFirmata/ServoFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/ServoFirmata/ServoFirmata.ino similarity index 100% rename from libraries/Firmata/examples/ServoFirmata/ServoFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/ServoFirmata/ServoFirmata.ino diff --git a/libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.ino similarity index 100% rename from libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.ino diff --git a/libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.ino similarity index 100% rename from libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.ino diff --git a/libraries/Firmata/examples/StandardFirmata/LICENSE.txt b/hardware/arduino/avr/libraries/Firmata/examples/StandardFirmata/LICENSE.txt similarity index 100% rename from libraries/Firmata/examples/StandardFirmata/LICENSE.txt rename to hardware/arduino/avr/libraries/Firmata/examples/StandardFirmata/LICENSE.txt diff --git a/libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino b/hardware/arduino/avr/libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino similarity index 100% rename from libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino rename to hardware/arduino/avr/libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino diff --git a/libraries/Firmata/keywords.txt b/hardware/arduino/avr/libraries/Firmata/keywords.txt similarity index 100% rename from libraries/Firmata/keywords.txt rename to hardware/arduino/avr/libraries/Firmata/keywords.txt diff --git a/libraries/LiquidCrystal/LiquidCrystal.cpp b/hardware/arduino/avr/libraries/LiquidCrystal/LiquidCrystal.cpp similarity index 100% rename from libraries/LiquidCrystal/LiquidCrystal.cpp rename to hardware/arduino/avr/libraries/LiquidCrystal/LiquidCrystal.cpp diff --git a/libraries/LiquidCrystal/LiquidCrystal.h b/hardware/arduino/avr/libraries/LiquidCrystal/LiquidCrystal.h similarity index 100% rename from libraries/LiquidCrystal/LiquidCrystal.h rename to hardware/arduino/avr/libraries/LiquidCrystal/LiquidCrystal.h diff --git a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino similarity index 100% rename from libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino diff --git a/libraries/LiquidCrystal/examples/Blink/Blink.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/Blink/Blink.ino similarity index 100% rename from libraries/LiquidCrystal/examples/Blink/Blink.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/Blink/Blink.ino diff --git a/libraries/LiquidCrystal/examples/Cursor/Cursor.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/Cursor/Cursor.ino similarity index 100% rename from libraries/LiquidCrystal/examples/Cursor/Cursor.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/Cursor/Cursor.ino diff --git a/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino similarity index 100% rename from libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino diff --git a/libraries/LiquidCrystal/examples/Display/Display.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/Display/Display.ino similarity index 100% rename from libraries/LiquidCrystal/examples/Display/Display.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/Display/Display.ino diff --git a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino similarity index 100% rename from libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino diff --git a/libraries/LiquidCrystal/examples/Scroll/Scroll.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/Scroll/Scroll.ino similarity index 100% rename from libraries/LiquidCrystal/examples/Scroll/Scroll.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/Scroll/Scroll.ino diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino similarity index 100% rename from libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino diff --git a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino similarity index 100% rename from libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino diff --git a/libraries/LiquidCrystal/examples/setCursor/setCursor.ino b/hardware/arduino/avr/libraries/LiquidCrystal/examples/setCursor/setCursor.ino similarity index 100% rename from libraries/LiquidCrystal/examples/setCursor/setCursor.ino rename to hardware/arduino/avr/libraries/LiquidCrystal/examples/setCursor/setCursor.ino diff --git a/libraries/LiquidCrystal/keywords.txt b/hardware/arduino/avr/libraries/LiquidCrystal/keywords.txt similarity index 100% rename from libraries/LiquidCrystal/keywords.txt rename to hardware/arduino/avr/libraries/LiquidCrystal/keywords.txt diff --git a/libraries/SD/File.cpp b/hardware/arduino/avr/libraries/SD/File.cpp similarity index 100% rename from libraries/SD/File.cpp rename to hardware/arduino/avr/libraries/SD/File.cpp diff --git a/libraries/SD/README.txt b/hardware/arduino/avr/libraries/SD/README.txt similarity index 100% rename from libraries/SD/README.txt rename to hardware/arduino/avr/libraries/SD/README.txt diff --git a/libraries/SD/SD.cpp b/hardware/arduino/avr/libraries/SD/SD.cpp similarity index 100% rename from libraries/SD/SD.cpp rename to hardware/arduino/avr/libraries/SD/SD.cpp diff --git a/libraries/SD/SD.h b/hardware/arduino/avr/libraries/SD/SD.h similarity index 100% rename from libraries/SD/SD.h rename to hardware/arduino/avr/libraries/SD/SD.h diff --git a/libraries/SD/examples/CardInfo/CardInfo.ino b/hardware/arduino/avr/libraries/SD/examples/CardInfo/CardInfo.ino similarity index 100% rename from libraries/SD/examples/CardInfo/CardInfo.ino rename to hardware/arduino/avr/libraries/SD/examples/CardInfo/CardInfo.ino diff --git a/libraries/SD/examples/Datalogger/Datalogger.ino b/hardware/arduino/avr/libraries/SD/examples/Datalogger/Datalogger.ino similarity index 100% rename from libraries/SD/examples/Datalogger/Datalogger.ino rename to hardware/arduino/avr/libraries/SD/examples/Datalogger/Datalogger.ino diff --git a/libraries/SD/examples/DumpFile/DumpFile.ino b/hardware/arduino/avr/libraries/SD/examples/DumpFile/DumpFile.ino similarity index 100% rename from libraries/SD/examples/DumpFile/DumpFile.ino rename to hardware/arduino/avr/libraries/SD/examples/DumpFile/DumpFile.ino diff --git a/libraries/SD/examples/Files/Files.ino b/hardware/arduino/avr/libraries/SD/examples/Files/Files.ino similarity index 100% rename from libraries/SD/examples/Files/Files.ino rename to hardware/arduino/avr/libraries/SD/examples/Files/Files.ino diff --git a/libraries/SD/examples/ReadWrite/ReadWrite.ino b/hardware/arduino/avr/libraries/SD/examples/ReadWrite/ReadWrite.ino similarity index 100% rename from libraries/SD/examples/ReadWrite/ReadWrite.ino rename to hardware/arduino/avr/libraries/SD/examples/ReadWrite/ReadWrite.ino diff --git a/libraries/SD/examples/listfiles/listfiles.ino b/hardware/arduino/avr/libraries/SD/examples/listfiles/listfiles.ino similarity index 100% rename from libraries/SD/examples/listfiles/listfiles.ino rename to hardware/arduino/avr/libraries/SD/examples/listfiles/listfiles.ino diff --git a/libraries/SD/keywords.txt b/hardware/arduino/avr/libraries/SD/keywords.txt similarity index 100% rename from libraries/SD/keywords.txt rename to hardware/arduino/avr/libraries/SD/keywords.txt diff --git a/libraries/SD/utility/FatStructs.h b/hardware/arduino/avr/libraries/SD/utility/FatStructs.h similarity index 100% rename from libraries/SD/utility/FatStructs.h rename to hardware/arduino/avr/libraries/SD/utility/FatStructs.h diff --git a/libraries/SD/utility/Sd2Card.cpp b/hardware/arduino/avr/libraries/SD/utility/Sd2Card.cpp similarity index 100% rename from libraries/SD/utility/Sd2Card.cpp rename to hardware/arduino/avr/libraries/SD/utility/Sd2Card.cpp diff --git a/libraries/SD/utility/Sd2Card.h b/hardware/arduino/avr/libraries/SD/utility/Sd2Card.h similarity index 100% rename from libraries/SD/utility/Sd2Card.h rename to hardware/arduino/avr/libraries/SD/utility/Sd2Card.h diff --git a/libraries/SD/utility/Sd2PinMap.h b/hardware/arduino/avr/libraries/SD/utility/Sd2PinMap.h similarity index 100% rename from libraries/SD/utility/Sd2PinMap.h rename to hardware/arduino/avr/libraries/SD/utility/Sd2PinMap.h diff --git a/libraries/SD/utility/SdFat.h b/hardware/arduino/avr/libraries/SD/utility/SdFat.h similarity index 100% rename from libraries/SD/utility/SdFat.h rename to hardware/arduino/avr/libraries/SD/utility/SdFat.h diff --git a/libraries/SD/utility/SdFatUtil.h b/hardware/arduino/avr/libraries/SD/utility/SdFatUtil.h similarity index 100% rename from libraries/SD/utility/SdFatUtil.h rename to hardware/arduino/avr/libraries/SD/utility/SdFatUtil.h diff --git a/libraries/SD/utility/SdFatmainpage.h b/hardware/arduino/avr/libraries/SD/utility/SdFatmainpage.h similarity index 100% rename from libraries/SD/utility/SdFatmainpage.h rename to hardware/arduino/avr/libraries/SD/utility/SdFatmainpage.h diff --git a/libraries/SD/utility/SdFile.cpp b/hardware/arduino/avr/libraries/SD/utility/SdFile.cpp similarity index 100% rename from libraries/SD/utility/SdFile.cpp rename to hardware/arduino/avr/libraries/SD/utility/SdFile.cpp diff --git a/libraries/SD/utility/SdInfo.h b/hardware/arduino/avr/libraries/SD/utility/SdInfo.h similarity index 100% rename from libraries/SD/utility/SdInfo.h rename to hardware/arduino/avr/libraries/SD/utility/SdInfo.h diff --git a/libraries/SD/utility/SdVolume.cpp b/hardware/arduino/avr/libraries/SD/utility/SdVolume.cpp similarity index 100% rename from libraries/SD/utility/SdVolume.cpp rename to hardware/arduino/avr/libraries/SD/utility/SdVolume.cpp diff --git a/libraries/SPI/SPI.cpp b/hardware/arduino/avr/libraries/SPI/SPI.cpp similarity index 100% rename from libraries/SPI/SPI.cpp rename to hardware/arduino/avr/libraries/SPI/SPI.cpp diff --git a/libraries/SPI/SPI.h b/hardware/arduino/avr/libraries/SPI/SPI.h similarity index 100% rename from libraries/SPI/SPI.h rename to hardware/arduino/avr/libraries/SPI/SPI.h diff --git a/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino b/hardware/arduino/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino similarity index 100% rename from libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino rename to hardware/arduino/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino diff --git a/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.ino b/hardware/arduino/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.ino similarity index 100% rename from libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.ino rename to hardware/arduino/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.ino diff --git a/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino b/hardware/arduino/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino similarity index 100% rename from libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino rename to hardware/arduino/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino diff --git a/libraries/SPI/keywords.txt b/hardware/arduino/avr/libraries/SPI/keywords.txt similarity index 100% rename from libraries/SPI/keywords.txt rename to hardware/arduino/avr/libraries/SPI/keywords.txt diff --git a/libraries/Servo/Servo.cpp b/hardware/arduino/avr/libraries/Servo/Servo.cpp similarity index 100% rename from libraries/Servo/Servo.cpp rename to hardware/arduino/avr/libraries/Servo/Servo.cpp diff --git a/libraries/Servo/Servo.h b/hardware/arduino/avr/libraries/Servo/Servo.h similarity index 100% rename from libraries/Servo/Servo.h rename to hardware/arduino/avr/libraries/Servo/Servo.h diff --git a/libraries/Servo/examples/Knob/Knob.ino b/hardware/arduino/avr/libraries/Servo/examples/Knob/Knob.ino similarity index 100% rename from libraries/Servo/examples/Knob/Knob.ino rename to hardware/arduino/avr/libraries/Servo/examples/Knob/Knob.ino diff --git a/libraries/Servo/examples/Sweep/Sweep.ino b/hardware/arduino/avr/libraries/Servo/examples/Sweep/Sweep.ino similarity index 100% rename from libraries/Servo/examples/Sweep/Sweep.ino rename to hardware/arduino/avr/libraries/Servo/examples/Sweep/Sweep.ino diff --git a/libraries/Servo/keywords.txt b/hardware/arduino/avr/libraries/Servo/keywords.txt similarity index 100% rename from libraries/Servo/keywords.txt rename to hardware/arduino/avr/libraries/Servo/keywords.txt diff --git a/libraries/SoftwareSerial/SoftwareSerial.cpp b/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.cpp similarity index 100% rename from libraries/SoftwareSerial/SoftwareSerial.cpp rename to hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.cpp diff --git a/libraries/SoftwareSerial/SoftwareSerial.h b/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h similarity index 100% rename from libraries/SoftwareSerial/SoftwareSerial.h rename to hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h diff --git a/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino b/hardware/arduino/avr/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino similarity index 100% rename from libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino rename to hardware/arduino/avr/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino diff --git a/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino b/hardware/arduino/avr/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino similarity index 100% rename from libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino rename to hardware/arduino/avr/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino diff --git a/libraries/SoftwareSerial/keywords.txt b/hardware/arduino/avr/libraries/SoftwareSerial/keywords.txt similarity index 100% rename from libraries/SoftwareSerial/keywords.txt rename to hardware/arduino/avr/libraries/SoftwareSerial/keywords.txt diff --git a/libraries/Stepper/Stepper.cpp b/hardware/arduino/avr/libraries/Stepper/Stepper.cpp similarity index 100% rename from libraries/Stepper/Stepper.cpp rename to hardware/arduino/avr/libraries/Stepper/Stepper.cpp diff --git a/libraries/Stepper/Stepper.h b/hardware/arduino/avr/libraries/Stepper/Stepper.h similarity index 100% rename from libraries/Stepper/Stepper.h rename to hardware/arduino/avr/libraries/Stepper/Stepper.h diff --git a/libraries/Stepper/examples/MotorKnob/MotorKnob.ino b/hardware/arduino/avr/libraries/Stepper/examples/MotorKnob/MotorKnob.ino similarity index 100% rename from libraries/Stepper/examples/MotorKnob/MotorKnob.ino rename to hardware/arduino/avr/libraries/Stepper/examples/MotorKnob/MotorKnob.ino diff --git a/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino b/hardware/arduino/avr/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino similarity index 100% rename from libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino rename to hardware/arduino/avr/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino diff --git a/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino b/hardware/arduino/avr/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino similarity index 100% rename from libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino rename to hardware/arduino/avr/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino diff --git a/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino b/hardware/arduino/avr/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino similarity index 100% rename from libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino rename to hardware/arduino/avr/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino diff --git a/libraries/Stepper/keywords.txt b/hardware/arduino/avr/libraries/Stepper/keywords.txt similarity index 100% rename from libraries/Stepper/keywords.txt rename to hardware/arduino/avr/libraries/Stepper/keywords.txt diff --git a/libraries/Wire/Wire.cpp b/hardware/arduino/avr/libraries/Wire/Wire.cpp similarity index 100% rename from libraries/Wire/Wire.cpp rename to hardware/arduino/avr/libraries/Wire/Wire.cpp diff --git a/libraries/Wire/Wire.h b/hardware/arduino/avr/libraries/Wire/Wire.h similarity index 100% rename from libraries/Wire/Wire.h rename to hardware/arduino/avr/libraries/Wire/Wire.h diff --git a/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino b/hardware/arduino/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino similarity index 100% rename from libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino rename to hardware/arduino/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino diff --git a/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino b/hardware/arduino/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino similarity index 100% rename from libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino rename to hardware/arduino/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino diff --git a/libraries/Wire/examples/master_reader/master_reader.ino b/hardware/arduino/avr/libraries/Wire/examples/master_reader/master_reader.ino similarity index 100% rename from libraries/Wire/examples/master_reader/master_reader.ino rename to hardware/arduino/avr/libraries/Wire/examples/master_reader/master_reader.ino diff --git a/libraries/Wire/examples/master_writer/master_writer.ino b/hardware/arduino/avr/libraries/Wire/examples/master_writer/master_writer.ino similarity index 100% rename from libraries/Wire/examples/master_writer/master_writer.ino rename to hardware/arduino/avr/libraries/Wire/examples/master_writer/master_writer.ino diff --git a/libraries/Wire/examples/slave_receiver/slave_receiver.ino b/hardware/arduino/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino similarity index 100% rename from libraries/Wire/examples/slave_receiver/slave_receiver.ino rename to hardware/arduino/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino diff --git a/libraries/Wire/examples/slave_sender/slave_sender.ino b/hardware/arduino/avr/libraries/Wire/examples/slave_sender/slave_sender.ino similarity index 100% rename from libraries/Wire/examples/slave_sender/slave_sender.ino rename to hardware/arduino/avr/libraries/Wire/examples/slave_sender/slave_sender.ino diff --git a/libraries/Wire/keywords.txt b/hardware/arduino/avr/libraries/Wire/keywords.txt similarity index 100% rename from libraries/Wire/keywords.txt rename to hardware/arduino/avr/libraries/Wire/keywords.txt diff --git a/libraries/Wire/utility/twi.c b/hardware/arduino/avr/libraries/Wire/utility/twi.c similarity index 100% rename from libraries/Wire/utility/twi.c rename to hardware/arduino/avr/libraries/Wire/utility/twi.c diff --git a/libraries/Wire/utility/twi.h b/hardware/arduino/avr/libraries/Wire/utility/twi.h similarity index 100% rename from libraries/Wire/utility/twi.h rename to hardware/arduino/avr/libraries/Wire/utility/twi.h