diff --git a/.gitignore b/.gitignore index 79d9e76d3..606269092 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,10 @@ hardware/arduino/bootloaders/caterina_LUFA/Caterina.elf hardware/arduino/bootloaders/caterina_LUFA/Caterina.eep hardware/arduino/bootloaders/caterina_LUFA/.dep/ build/windows/work/ +build/windows/arduino-*.zip +build/windows/dist/gcc-*.tar.gz +build/macosx/arduino-*.zip +build/macosx/dist/gcc-*.tar.gz build/linux/work/ build/linux/dist/*.tar.gz build/linux/*.tgz diff --git a/app/lib/RXTXcomm.jar b/app/lib/RXTXcomm.jar index 8971c8114..51c7c1935 100644 Binary files a/app/lib/RXTXcomm.jar and b/app/lib/RXTXcomm.jar differ diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 057c80344..183cd6484 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -654,7 +654,10 @@ public class Base { // Make an empty pde file File newbieFile = new File(newbieDir, newbieName + ".ino"); - new FileOutputStream(newbieFile); // create the file + if (!newbieFile.createNewFile()) { + throw new IOException(); + } + FileUtils.copyFile(new File(getContentFile("examples"), "01.Basics" + File.separator + "BareMinimum" + File.separator + "BareMinimum.ino"), newbieFile); return newbieFile.getAbsolutePath(); } diff --git a/app/src/processing/app/CaretAwareUndoableEdit.java b/app/src/processing/app/CaretAwareUndoableEdit.java new file mode 100644 index 000000000..ba8e67d85 --- /dev/null +++ b/app/src/processing/app/CaretAwareUndoableEdit.java @@ -0,0 +1,77 @@ +package processing.app; + +import processing.app.syntax.JEditTextArea; + +import javax.swing.undo.CannotRedoException; +import javax.swing.undo.CannotUndoException; +import javax.swing.undo.UndoableEdit; + +public class CaretAwareUndoableEdit implements UndoableEdit { + + private final UndoableEdit undoableEdit; + private final int caretPosition; + + public CaretAwareUndoableEdit(UndoableEdit undoableEdit, JEditTextArea textArea) { + this.undoableEdit = undoableEdit; + this.caretPosition = textArea.getCaretPosition(); + } + + @Override + public void undo() throws CannotUndoException { + undoableEdit.undo(); + } + + @Override + public boolean canUndo() { + return undoableEdit.canUndo(); + } + + @Override + public void redo() throws CannotRedoException { + undoableEdit.redo(); + } + + @Override + public boolean canRedo() { + return undoableEdit.canRedo(); + } + + @Override + public void die() { + undoableEdit.die(); + } + + @Override + public boolean addEdit(UndoableEdit undoableEdit) { + return this.undoableEdit.addEdit(undoableEdit); + } + + @Override + public boolean replaceEdit(UndoableEdit undoableEdit) { + return this.undoableEdit.replaceEdit(undoableEdit); + } + + @Override + public boolean isSignificant() { + return undoableEdit.isSignificant(); + } + + @Override + public String getPresentationName() { + return undoableEdit.getPresentationName(); + } + + @Override + public String getUndoPresentationName() { + return undoableEdit.getUndoPresentationName(); + } + + @Override + public String getRedoPresentationName() { + return undoableEdit.getRedoPresentationName(); + } + + public int getCaretPosition() { + return caretPosition; + } +} diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 1f55fa733..3cf54e010 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -137,7 +137,7 @@ public class Editor extends JFrame implements RunnerListener { JMenuItem undoItem, redoItem; protected UndoAction undoAction; protected RedoAction redoAction; - UndoManager undo; + LastUndoableEditAwareUndoManager undo; // used internally, and only briefly CompoundEdit compoundEdit; @@ -476,7 +476,6 @@ public class Editor extends JFrame implements RunnerListener { protected void buildMenuBar() { JMenuBar menubar = new JMenuBar(); - menubar = new JMenuBar(); menubar.add(buildFileMenu()); menubar.add(buildEditMenu()); menubar.add(buildSketchMenu()); @@ -1344,6 +1343,10 @@ public class Editor extends JFrame implements RunnerListener { //System.out.println("Unable to undo: " + ex); //ex.printStackTrace(); } + if (undo.getLastUndoableEdit() != null && undo.getLastUndoableEdit() instanceof CaretAwareUndoableEdit) { + CaretAwareUndoableEdit undoableEdit = (CaretAwareUndoableEdit) undo.getLastUndoableEdit(); + textarea.setCaretPosition(undoableEdit.getCaretPosition() - 1); + } updateUndoState(); redoAction.updateRedoState(); } @@ -1383,6 +1386,10 @@ public class Editor extends JFrame implements RunnerListener { //System.out.println("Unable to redo: " + ex); //ex.printStackTrace(); } + if (undo.getLastUndoableEdit() != null && undo.getLastUndoableEdit() instanceof CaretAwareUndoableEdit) { + CaretAwareUndoableEdit undoableEdit = (CaretAwareUndoableEdit) undo.getLastUndoableEdit(); + textarea.setCaretPosition(undoableEdit.getCaretPosition()); + } updateRedoState(); undoAction.updateUndoState(); } @@ -1664,7 +1671,7 @@ public class Editor extends JFrame implements RunnerListener { compoundEdit.addEdit(e.getEdit()); } else if (undo != null) { - undo.addEdit(e.getEdit()); + undo.addEdit(new CaretAwareUndoableEdit(e.getEdit(), textarea)); undoAction.updateUndoState(); redoAction.updateRedoState(); } diff --git a/app/src/processing/app/LastUndoableEditAwareUndoManager.java b/app/src/processing/app/LastUndoableEditAwareUndoManager.java new file mode 100644 index 000000000..336cfe15f --- /dev/null +++ b/app/src/processing/app/LastUndoableEditAwareUndoManager.java @@ -0,0 +1,31 @@ +package processing.app; + +import javax.swing.undo.CannotRedoException; +import javax.swing.undo.CannotUndoException; +import javax.swing.undo.UndoManager; +import javax.swing.undo.UndoableEdit; + +public class LastUndoableEditAwareUndoManager extends UndoManager { + + private UndoableEdit lastUndoableEdit; + + public LastUndoableEditAwareUndoManager() { + this.lastUndoableEdit = null; + } + + @Override + public synchronized void undo() throws CannotUndoException { + lastUndoableEdit = super.editToBeUndone(); + super.undo(); + } + + @Override + public synchronized void redo() throws CannotRedoException { + lastUndoableEdit = super.editToBeRedone(); + super.redo(); + } + + public UndoableEdit getLastUndoableEdit() { + return lastUndoableEdit; + } +} diff --git a/app/src/processing/app/Platform.java b/app/src/processing/app/Platform.java index 6e74e147b..37ec1b3d6 100644 --- a/app/src/processing/app/Platform.java +++ b/app/src/processing/app/Platform.java @@ -76,7 +76,7 @@ public class Platform { public File getSettingsFolder() throws Exception { // otherwise make a .processing directory int the user's home dir File home = new File(System.getProperty("user.home")); - File dataFolder = new File(home, ".arduino"); + File dataFolder = new File(home, ".arduino15"); return dataFolder; /* diff --git a/app/src/processing/app/SketchCode.java b/app/src/processing/app/SketchCode.java index 6498cf4ba..37e63ed71 100644 --- a/app/src/processing/app/SketchCode.java +++ b/app/src/processing/app/SketchCode.java @@ -27,7 +27,7 @@ package processing.app; import java.io.*; import javax.swing.text.Document; -import javax.swing.undo.*; + import static processing.app.I18n._; @@ -55,7 +55,7 @@ public class SketchCode { * Editor.undo will be set to this object when this code is the tab * that's currently the front. */ - private UndoManager undo = new UndoManager(); + private LastUndoableEditAwareUndoManager undo = new LastUndoableEditAwareUndoManager(); // saved positions from last time this tab was used private int selectionStart; @@ -221,7 +221,7 @@ public class SketchCode { } - public UndoManager getUndo() { + public LastUndoableEditAwareUndoManager getUndo() { return undo; } diff --git a/app/src/processing/app/debug/TargetPackage.java b/app/src/processing/app/debug/TargetPackage.java index 05d13fbae..3d9e8fcd5 100644 --- a/app/src/processing/app/debug/TargetPackage.java +++ b/app/src/processing/app/debug/TargetPackage.java @@ -32,20 +32,22 @@ import processing.app.helpers.filefilters.OnlyDirs; public class TargetPackage { - String name; - File folder; + private final String name; Map platforms = new HashMap(); - public TargetPackage(String _name, File _folder) { - name = _name; - folder = _folder; + public TargetPackage(String name, File folder) { + this.name = name; String[] platformsList = folder.list(new OnlyDirs()); - for (String platformName : platformsList) { - File platformFolder = new File(folder, platformName); - TargetPlatform platform = new TargetPlatform(platformName, platformFolder); - platforms.put(platformName, platform); + if (platformsList != null) { + for (String platformName : platformsList) { + File platformFolder = new File(folder, platformName); + if (platformFolder.exists() && platformFolder.canRead()) { + TargetPlatform platform = new TargetPlatform(platformName, platformFolder); + platforms.put(platformName, platform); + } + } } } diff --git a/app/src/processing/app/debug/TargetPlatform.java b/app/src/processing/app/debug/TargetPlatform.java index 912d37e0d..acd12b3fe 100644 --- a/app/src/processing/app/debug/TargetPlatform.java +++ b/app/src/processing/app/debug/TargetPlatform.java @@ -55,7 +55,7 @@ public class TargetPlatform { try { File boardsFile = new File(_folder, "boards.txt"); - if (boardsFile.exists()) { + if (boardsFile.exists() && boardsFile.canRead()) { PreferencesMap boardPreferences = new PreferencesMap(); boardPreferences.load(boardsFile); boards = boardPreferences.createFirstLevelMap(); @@ -69,15 +69,16 @@ public class TargetPlatform { try { File platformsFile = new File(_folder, "platform.txt"); - if (platformsFile.exists()) + if (platformsFile.exists() && platformsFile.canRead()) { preferences.load(platformsFile); + } } catch (Exception e) { System.err.println("Error loading platforms from platform.txt: " + e); } try { File programmersFile = new File(_folder, "programmers.txt"); - if (programmersFile.exists()) { + if (programmersFile.exists() && programmersFile.canRead()) { PreferencesMap prefs = new PreferencesMap(); prefs.load(programmersFile); programmers = prefs.createFirstLevelMap(); diff --git a/app/src/processing/app/helpers/FileUtils.java b/app/src/processing/app/helpers/FileUtils.java index fb80d2e4f..fc12616b0 100644 --- a/app/src/processing/app/helpers/FileUtils.java +++ b/app/src/processing/app/helpers/FileUtils.java @@ -35,6 +35,27 @@ public class FileUtils { return false; } + public static void copyFile(File source, File dest) throws IOException { + FileInputStream fis = null; + FileOutputStream fos = null; + try { + fis = new FileInputStream(source); + fos = new FileOutputStream(dest); + byte[] buf = new byte[4096]; + int readBytes = -1; + while ((readBytes = fis.read(buf, 0, buf.length)) != -1) { + fos.write(buf, 0, readBytes); + } + } finally { + if (fis != null) { + fis.close(); + } + if (fos != null) { + fos.close(); + } + } + } + public static void copy(File sourceFolder, File destFolder) throws IOException { for (File file : sourceFolder.listFiles()) { File destFile = new File(destFolder, file.getName()); @@ -44,24 +65,7 @@ public class FileUtils { } copy(file, destFile); } else { - FileInputStream fis = null; - FileOutputStream fos = null; - try { - fis = new FileInputStream(file); - fos = new FileOutputStream(destFile); - byte[] buf = new byte[4096]; - int readBytes = -1; - while ((readBytes = fis.read(buf, 0, buf.length)) != -1) { - fos.write(buf, 0, readBytes); - } - } finally { - if (fis != null) { - fis.close(); - } - if (fos != null) { - fos.close(); - } - } + copyFile(file, destFile); } } } diff --git a/app/src/processing/app/helpers/PreferencesMap.java b/app/src/processing/app/helpers/PreferencesMap.java index f83e04b1f..52ff7c3f2 100644 --- a/app/src/processing/app/helpers/PreferencesMap.java +++ b/app/src/processing/app/helpers/PreferencesMap.java @@ -50,7 +50,7 @@ public class PreferencesMap extends LinkedHashMap { * @throws FileNotFoundException * @throws IOException */ - public void load(File file) throws FileNotFoundException, IOException { + public void load(File file) throws IOException { load(new FileInputStream(file)); } diff --git a/app/src/processing/app/macosx/Platform.java b/app/src/processing/app/macosx/Platform.java index eb79bec2b..ee078b31b 100644 --- a/app/src/processing/app/macosx/Platform.java +++ b/app/src/processing/app/macosx/Platform.java @@ -85,7 +85,7 @@ public class Platform extends processing.app.Platform { public File getSettingsFolder() throws Exception { - return new File(getLibraryFolder(), "Arduino"); + return new File(getLibraryFolder(), "Arduino15"); } diff --git a/app/src/processing/app/windows/Platform.java b/app/src/processing/app/windows/Platform.java index 5777742d4..f45db5a68 100644 --- a/app/src/processing/app/windows/Platform.java +++ b/app/src/processing/app/windows/Platform.java @@ -188,7 +188,7 @@ public class Platform extends processing.app.Platform { String appDataPath = Registry.getStringValue(REGISTRY_ROOT_KEY.CURRENT_USER, keyPath, "AppData"); - File dataFolder = new File(appDataPath, "Arduino"); + File dataFolder = new File(appDataPath, "Arduino15"); return dataFolder; } diff --git a/build/build.xml b/build/build.xml index dfff2e7ef..a71b495ce 100644 --- a/build/build.xml +++ b/build/build.xml @@ -3,21 +3,21 @@ - + - - - - - @@ -41,7 +41,7 @@ - @@ -53,58 +53,65 @@ - + - + - + - + - + - - + - + - + - + + + + + + + + - + - + - + - + @@ -126,9 +133,9 @@ - + - @@ -140,7 +147,7 @@ - + @@ -150,38 +157,41 @@ + + + - + ======================================================= Arduino for Mac OS X can only be built on Mac OS X. - - Bye. + + Bye. ======================================================= - + - + - - - + - + @@ -198,13 +208,13 @@ - + - + @@ -213,6 +223,13 @@ + + + + + + + @@ -229,25 +246,25 @@ - - - Checksum failed. - File gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz failed checksum. + File gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz failed checksum. Please remove "macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz" to download it again. @@ -259,6 +276,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ======================================================= + Arduino for Mac OS X built and signed. + + macosx/arduino-${version}-${platform}-signed.zip + ======================================================= + + + + + + + + + + + + @@ -267,7 +334,6 @@ - @@ -275,9 +341,9 @@ token="VERSION" value="${version}" /> - + - + - + - + @@ -322,12 +388,12 @@ errors when ejecting the disk in the next step. You may need to set this value higher for your system. --> - + - + @@ -336,44 +402,47 @@ - + ======================================================= - Arduino for Mac OS X was built. Grab the image from - + Arduino for Mac OS X was built. Grab the image from + macosx/arduino-${version}.dmg ======================================================= - + - + + + + - + ======================================================= Arduino for Linux can only be built on on unix systems. - - Bye. + + Bye. ======================================================= - + - + - + - + @@ -381,7 +450,7 @@ - + @@ -425,13 +494,13 @@ - - - - @@ -442,7 +511,7 @@ - @@ -453,14 +522,14 @@ - Checksum failed. - File gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz failed checksum. + File gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz failed checksum. Please remove "linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" to download it again. @@ -480,7 +549,7 @@ - @@ -513,7 +582,7 @@ - + @@ -521,64 +590,69 @@ ======================================================= - Arduino for Linux was built. Grab the archive from + Arduino for Linux was built. Grab the archive from - build/linux/arduino-${version}-linux.tgz + build/linux/arduino-${version}-${platform}.tgz ======================================================= - - - - + - + + + + - + ======================================================= Arduino for Windows can only be built on windows. - - Bye. + + Bye. ======================================================= - + - - - + - + - + + + - + - + @@ -597,18 +671,18 @@ - + - - - @@ -617,11 +691,15 @@ + + + + - - - @@ -631,7 +709,7 @@ - @@ -642,14 +720,14 @@ - Checksum failed. - File gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz failed checksum. + File gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz failed checksum. Please remove "windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz" to download it again. @@ -661,7 +739,7 @@ - - + - + - + ======================================================= - Arduino for Windows was built. Grab the archive from + Arduino for Windows was built. Grab the archive from - windows/arduino-${version}-windows.zip - windows/arduino-${version}-windows-expert.zip + windows/arduino-${version}-${platform}.zip + windows/arduino-${version}-${platform}-expert.zip ======================================================= - + - + - - + /> ======================================================= - Arduino source distribution was built. Grab the archive from - + Arduino source distribution was built. Grab the archive from + arduino-${version}-src.tar.gz ======================================================= - + - - diff --git a/build/linux/dist/lib/librxtxSerial.so b/build/linux/dist/lib/librxtxSerial.so index d340dcb67..19193f799 100755 Binary files a/build/linux/dist/lib/librxtxSerial.so and b/build/linux/dist/lib/librxtxSerial.so differ diff --git a/build/linux/dist/lib/librxtxSerial64.so b/build/linux/dist/lib/librxtxSerial64.so index 853b87a22..c311b800d 100755 Binary files a/build/linux/dist/lib/librxtxSerial64.so and b/build/linux/dist/lib/librxtxSerial64.so differ diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index 6d516b037..34412f94a 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -1,5 +1,5 @@ -ARDUINO 1.5.2 BETA - 2012.01.23 +ARDUINO 1.5.2 BETA - 2013.02.06 [ide] * Scrollable editor tabs (Shigheru KANEMOTO) @@ -14,15 +14,18 @@ ARDUINO 1.5.2 BETA - 2012.01.23 * Deleting tab from IDE does not delete from temporary folder * Fixed NPE when unknown boards/platforms are selected in preferences * Extended command line build flags +* Undo/Redo move cursor and focus to where the code has been undone/redone [arduino core] +* sam: attachInterrupt() now works also on pins that belongs to PORTD * sam: portOutputRegister() is now writeable. * sam: fixed issue on weak-symbol for some interrupt handlers * sam: fixed BSoD on some Windows machine (louismdavis) * sam: added CANRX1/CANTX1 pins 88/89 (same physical pin for 66/53) * sam: fixed analogWrite when used in very thight write loops (V.Dorrich) -* sam: fixed USBSerial.write() while sending big buffers (Bill Dreschel) -* sam: USBSerial receive buffer size is now 512 (PeterVH) +* sam: fixed SerialUSB.write() while sending big buffers (Bill Dreschel) +* sam: SerialUSB receive buffer size is now 512 (PeterVH) +* sam: Fixed SerialUSB data handshake when host sends a lot of data (PeterVH, stimmer) [libraries] * sam: Added Servo library @@ -90,6 +93,7 @@ ARDUINO 1.0.4 - Not yet released. * Sort entries in preferences.txt (Shigeru Kanemoto) * Fixed some wrong translations * Fixed NPE due to permissions IO error +* Updated drivers for Windows (all-in-one, signature for Win8) ARDUINO 1.0.3 - 2012.12.10 diff --git a/build/windows/dist/drivers/Arduino Esplora.inf b/build/windows/dist/drivers/Arduino Esplora.inf deleted file mode 100644 index ae1f5cc08..000000000 --- a/build/windows/dist/drivers/Arduino Esplora.inf +++ /dev/null @@ -1,107 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003C -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_803C&MI_00 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003C -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_803C&MI_00 - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Esplora Driver Installer" -DESCRIPTION="Arduino Esplora" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino Leonardo.inf b/build/windows/dist/drivers/Arduino Leonardo.inf deleted file mode 100644 index 26cf22fb8..000000000 --- a/build/windows/dist/drivers/Arduino Leonardo.inf +++ /dev/null @@ -1,107 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0036 -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_8036&MI_00 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0036 -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_8036&MI_00 - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Leonardo Driver Installer" -DESCRIPTION="Arduino Leonardo" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino MEGA 2560 REV3.inf b/build/windows/dist/drivers/Arduino MEGA 2560 REV3.inf deleted file mode 100644 index 6081f3c78..000000000 --- a/build/windows/dist/drivers/Arduino MEGA 2560 REV3.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0042 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0042 - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Mega 2560 R3 Driver Installer" -DESCRIPTION="Arduino Mega 2560 R3" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino MEGA 2560.inf b/build/windows/dist/drivers/Arduino MEGA 2560.inf deleted file mode 100644 index 95cb51485..000000000 --- a/build/windows/dist/drivers/Arduino MEGA 2560.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0010 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0010 - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Mega 2560 Driver Installer" -DESCRIPTION="Arduino Mega 2560" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino Mega ADK REV3.inf b/build/windows/dist/drivers/Arduino Mega ADK REV3.inf deleted file mode 100644 index 85978c8c3..000000000 --- a/build/windows/dist/drivers/Arduino Mega ADK REV3.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0044 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0044 - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Mega ADK R3 Driver Installer" -DESCRIPTION="Arduino Mega ADK R3" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino Mega ADK.inf b/build/windows/dist/drivers/Arduino Mega ADK.inf deleted file mode 100644 index 16b9663d0..000000000 --- a/build/windows/dist/drivers/Arduino Mega ADK.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003F - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003F - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Mega ADK Driver Installer" -DESCRIPTION="Arduino Mega ADK" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino Micro.inf b/build/windows/dist/drivers/Arduino Micro.inf deleted file mode 100644 index a66412160..000000000 --- a/build/windows/dist/drivers/Arduino Micro.inf +++ /dev/null @@ -1,107 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0037 -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_8037&MI_00 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0037 -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_8037&MI_00 - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino Micro Driver Installer" -DESCRIPTION="Arduino Micro" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino UNO REV3.inf b/build/windows/dist/drivers/Arduino UNO REV3.inf deleted file mode 100644 index 52da7eaf0..000000000 --- a/build/windows/dist/drivers/Arduino UNO REV3.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0043 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0043 - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino UNO R3 Driver Installer" -DESCRIPTION="Arduino UNO R3" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino UNO.inf b/build/windows/dist/drivers/Arduino UNO.inf deleted file mode 100644 index 655de09b3..000000000 --- a/build/windows/dist/drivers/Arduino UNO.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0001 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_0001 - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="http://www.arduino.cc" -INSTDISK="Arduino UNO Driver Installer" -DESCRIPTION="Communications Port" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Arduino USBSerial.inf b/build/windows/dist/drivers/Arduino USBSerial.inf deleted file mode 100644 index f8553fbb9..000000000 --- a/build/windows/dist/drivers/Arduino USBSerial.inf +++ /dev/null @@ -1,106 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003B - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_2341&PID_003B - - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="Arduino LLC (www.arduino.cc)" -INSTDISK="Arduino USBSerial Driver Installer" -DESCRIPTION="Arduino UNO" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/LilyPadUSB.inf b/build/windows/dist/drivers/LilyPadUSB.inf deleted file mode 100644 index b7183672d..000000000 --- a/build/windows/dist/drivers/LilyPadUSB.inf +++ /dev/null @@ -1,107 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation - - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -LayoutFile=layout.inf -CatalogFile=%MFGFILENAME%.cat -DriverVer=11/15/2007,5.1.2600.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTamd64 - -[DestinationDirs] -DefaultDestDir=12 - - -;------------------------------------------------------------------------------ -; Windows 2000/XP/Vista-32bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.nt] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.nt -AddReg=DriverInstall.nt.AddReg - -[DriverCopyFiles.nt] -usbser.sys,,,0x20 - -[DriverInstall.nt.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.nt.Services] -AddService=usbser, 0x00000002, DriverService.nt - -[DriverService.nt] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - -;------------------------------------------------------------------------------ -; Vista-64bit Sections -;------------------------------------------------------------------------------ - -[DriverInstall.NTamd64] -include=mdmcpq.inf -CopyFiles=DriverCopyFiles.NTamd64 -AddReg=DriverInstall.NTamd64.AddReg - -[DriverCopyFiles.NTamd64] -%DRIVERFILENAME%.sys,,,0x20 - -[DriverInstall.NTamd64.AddReg] -HKR,,DevLoader,,*ntkern -HKR,,NTMPDriver,,%DRIVERFILENAME%.sys -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" - -[DriverInstall.NTamd64.Services] -AddService=usbser, 0x00000002, DriverService.NTamd64 - -[DriverService.NTamd64] -DisplayName=%SERVICE% -ServiceType=1 -StartType=3 -ErrorControl=1 -ServiceBinary=%12%\%DRIVERFILENAME%.sys - - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[SourceDisksFiles] -[SourceDisksNames] -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_1B4F&PID_9207 -%DESCRIPTION%=DriverInstall, USB\VID_1B4F&PID_9208&MI_00 - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_1B4F&PID_9207 -%DESCRIPTION%=DriverInstall, USB\VID_1B4F&PID_9208&MI_00 - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGFILENAME="CDC_vista" -DRIVERFILENAME ="usbser" -MFGNAME="SparkFun Electronics" -INSTDISK="SparkFun LilyPadUSB Driver Installer" -DESCRIPTION="SparkFun LilyPadUSB" -SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file diff --git a/build/windows/dist/drivers/Old_Arduino_Drivers.zip b/build/windows/dist/drivers/Old_Arduino_Drivers.zip new file mode 100644 index 000000000..080daea03 Binary files /dev/null and b/build/windows/dist/drivers/Old_Arduino_Drivers.zip differ diff --git a/build/windows/dist/drivers/README.txt b/build/windows/dist/drivers/README.txt new file mode 100644 index 000000000..ca4aeac91 --- /dev/null +++ b/build/windows/dist/drivers/README.txt @@ -0,0 +1,7 @@ + +With this version of Arduino a new all-in-one driver (with +security signature for Windows 8) is supplied. + +The old (deprected) drivers are still available in the +Old_Arduino_Drivers.zip + diff --git a/build/windows/dist/drivers/arduino.cat b/build/windows/dist/drivers/arduino.cat new file mode 100644 index 000000000..4dc538882 Binary files /dev/null and b/build/windows/dist/drivers/arduino.cat differ diff --git a/build/windows/dist/drivers/arduino.inf b/build/windows/dist/drivers/arduino.inf new file mode 100644 index 000000000..86abab733 --- /dev/null +++ b/build/windows/dist/drivers/arduino.inf @@ -0,0 +1,122 @@ +; Copyright 2012 Blacklabel Development, Inc. + +[Strings] +DriverPackageDisplayName="Arduino Boards" +ManufacturerName="Arduino LLC (www.arduino.cc)" +ServiceName="USB RS-232 Emulation Driver" +due.bossa.name="Bossa Program Port" +due.programming_port.name="Arduino Due Programming Port" +due.sketch.name="Arduino Due" +esplora.bootloader.name="Arduino Esplora bootloader" +esplora.sketch.name="Arduino Esplora" +leonardo.bootloader.name="Arduino Leonardo bootloader" +leonardo.sketch.name="Arduino Leonardo" +lilypadUSB.bootloader.name="Arduino LilyPad USB bootloader" +lilypadUSB.sketch.name="Arduino LilyPad USB" +mega2560rev3.name="Arduino Mega 2560" +megaADK.name="Arduino Mega ADK" +megaADKrev3.name="Arduino Mega ADK" +micro.bootloader.name="Arduino Micro bootloader" +micro.sketch.name="Arduino Micro" +uno.name="Arduino Uno" +unoR3.name="Arduino Uno" +usbserial.name="Arduino USB Serial Light Adapter" + +[DefaultInstall] +CopyINF=arduino.inf + +[Version] +Class=Ports +ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} +Signature="$Windows NT$" +Provider=%ManufacturerName% +DriverPackageDisplayName=%DriverPackageDisplayName% +CatalogFile=arduino.cat +DriverVer=01/01/2013,1.0.0.0 + +[Manufacturer] +%ManufacturerName%=DeviceList, NTamd64, NTia64 + +[DestinationDirs] +FakeModemCopyFileSection=12 +DefaultDestDir=12 + +[DeviceList] +%due.bossa.name%=DriverInstall, USB\VID_03EB&PID_6124 +%due.programming_port.name%=DriverInstall, USB\VID_2341&PID_003D +%due.sketch.name%=DriverInstall, USB\VID_2341&PID_003E&MI_00 +%esplora.bootloader.name%=DriverInstall, USB\VID_2341&PID_003C +%esplora.sketch.name%=DriverInstall, USB\VID_2341&PID_803C&MI_00 +%leonardo.bootloader.name%=DriverInstall, USB\VID_2341&PID_0036 +%leonardo.sketch.name%=DriverInstall, USB\VID_2341&PID_8036&MI_00 +%lilypadUSB.bootloader.name%=DriverInstall, USB\VID_1B4F&PID_9207 +%lilypadUSB.sketch.name%=DriverInstall, USB\VID_1B4F&PID_9208&MI_00 +%mega2560rev3.name%=DriverInstall, USB\VID_2341&PID_0042 +%mega2560.name%=DriverInstall, USB\VID_2341&PID_0010 +%megaADK.name%=DriverInstall, USB\VID_2341&PID_003F +%megaADKrev3.name%=DriverInstall, USB\VID_2341&PID_0044 +%micro.bootloader.name%=DriverInstall, USB\VID_2341&PID_0037 +%micro.sketch.name%=DriverInstall, USB\VID_2341&PID_8037&MI_00 +%uno.name%=DriverInstall, USB\VID_2341&PID_0001 +%unoR3.name%=DriverInstall, USB\VID_2341&PID_0043 +%usbserial.name%=DriverInstall, USB\VID_2341&PID_003B + +[DeviceList.NTamd64] +%due.bossa.name%=DriverInstall, USB\VID_03EB&PID_6124 +%due.programming_port.name%=DriverInstall, USB\VID_2341&PID_003D +%due.sketch.name%=DriverInstall, USB\VID_2341&PID_003E&MI_00 +%esplora.bootloader.name%=DriverInstall, USB\VID_2341&PID_003C +%esplora.sketch.name%=DriverInstall, USB\VID_2341&PID_803C&MI_00 +%leonardo.bootloader.name%=DriverInstall, USB\VID_2341&PID_0036 +%leonardo.sketch.name%=DriverInstall, USB\VID_2341&PID_8036&MI_00 +%lilypadUSB.bootloader.name%=DriverInstall, USB\VID_1B4F&PID_9207 +%lilypadUSB.sketch.name%=DriverInstall, USB\VID_1B4F&PID_9208&MI_00 +%mega2560rev3.name%=DriverInstall, USB\VID_2341&PID_0042 +%mega2560.name%=DriverInstall, USB\VID_2341&PID_0010 +%megaADK.name%=DriverInstall, USB\VID_2341&PID_003F +%megaADKrev3.name%=DriverInstall, USB\VID_2341&PID_0044 +%micro.bootloader.name%=DriverInstall, USB\VID_2341&PID_0037 +%micro.sketch.name%=DriverInstall, USB\VID_2341&PID_8037&MI_00 +%uno.name%=DriverInstall, USB\VID_2341&PID_0001 +%unoR3.name%=DriverInstall, USB\VID_2341&PID_0043 +%usbserial.name%=DriverInstall, USB\VID_2341&PID_003B + +[DeviceList.NTia64] +%esplora.bootloader.name%=DriverInstall, USB\VID_2341&PID_003C +%esplora.sketch.name%=DriverInstall, USB\VID_2341&PID_803C&MI_00 +%leonardo.bootloader.name%=DriverInstall, USB\VID_2341&PID_0036 +%leonardo.sketch.name%=DriverInstall, USB\VID_2341&PID_8036&MI_00 +%lilypadUSB.bootloader.name%=DriverInstall, USB\VID_1B4F&PID_9207 +%lilypadUSB.sketch.name%=DriverInstall, USB\VID_1B4F&PID_9208&MI_00 +%mega2560rev3.name%=DriverInstall, USB\VID_2341&PID_0042 +%mega2560.name%=DriverInstall, USB\VID_2341&PID_0010 +%megaADK.name%=DriverInstall, USB\VID_2341&PID_003F +%megaADKrev3.name%=DriverInstall, USB\VID_2341&PID_0044 +%micro.bootloader.name%=DriverInstall, USB\VID_2341&PID_0037 +%micro.sketch.name%=DriverInstall, USB\VID_2341&PID_8037&MI_00 +%uno.name%=DriverInstall, USB\VID_2341&PID_0001 +%unoR3.name%=DriverInstall, USB\VID_2341&PID_0043 +%usbserial.name%=DriverInstall, USB\VID_2341&PID_003B + +[DriverInstall] +include=mdmcpq.inf,usb.inf +CopyFiles = FakeModemCopyFileSection +AddReg=DriverAddReg + +[DriverAddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,usbser.sys +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" + +[DriverInstall.Services] +include=mdmcpq.inf +AddService=usbser, 0x00000002, DriverService + +[DriverService] +DisplayName=%ServiceName% +ServiceType=1 +StartType=3 +ErrorControl=1 +ServiceBinary=%12%\usbser.sys +LoadOrderGroup=Base + diff --git a/build/windows/launcher/config.xml b/build/windows/launcher/config.xml index ba29d3a06..b1fbf6630 100755 --- a/build/windows/launcher/config.xml +++ b/build/windows/launcher/config.xml @@ -20,6 +20,7 @@ lib/jna.jar lib/ecj.jar lib/RXTXcomm.jar + lib/commons-exec-1.1.jar java diff --git a/hardware/arduino/sam/cores/arduino/USB/CDC.cpp b/hardware/arduino/sam/cores/arduino/USB/CDC.cpp index 6b7749ee2..76e17e8f5 100644 --- a/hardware/arduino/sam/cores/arduino/USB/CDC.cpp +++ b/hardware/arduino/sam/cores/arduino/USB/CDC.cpp @@ -155,18 +155,39 @@ void Serial_::end(void) void Serial_::accept(void) { + static uint32_t guard = 0; + + // synchronized access to guard + do { + if (__LDREXW(&guard) != 0) { + __CLREX(); + return; // busy + } + } while (__STREXW(1, &guard) != 0); // retry until write succeed + ring_buffer *buffer = &cdc_rx_buffer; - uint32_t c = USBD_Recv(CDC_RX); uint32_t i = (uint32_t)(buffer->head+1) % CDC_SERIAL_BUFFER_SIZE; // if we should be storing the received character into the location // just before the tail (meaning that the head would advance to the // current location of the tail), we're about to overflow the buffer // and so we don't write the character or advance the head. - if (i != buffer->tail) { + while (i != buffer->tail) { + uint32_t c; + if (!USBD_Available(CDC_RX)) { + udd_ack_fifocon(CDC_RX); + break; + } + c = USBD_Recv(CDC_RX); + // c = UDD_Recv8(CDC_RX & 0xF); buffer->buffer[buffer->head] = c; buffer->head = i; + + i = (i + 1) % CDC_SERIAL_BUFFER_SIZE; } + + // release the guard + guard = 0; } int Serial_::available(void) @@ -202,6 +223,8 @@ int Serial_::read(void) { unsigned char c = buffer->buffer[buffer->tail]; buffer->tail = (unsigned int)(buffer->tail + 1) % CDC_SERIAL_BUFFER_SIZE; + if (USBD_Available(CDC_RX)) + accept(); return c; } } diff --git a/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp b/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp index 38418f10c..8cb01a51a 100644 --- a/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp +++ b/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp @@ -601,10 +601,8 @@ static void USB_ISR(void) udd_ack_out_received(CDC_RX); // Handle received bytes - while (USBD_Available(CDC_RX)) + if (USBD_Available(CDC_RX)) SerialUSB.accept(); - - udd_ack_fifocon(CDC_RX); } if (Is_udd_sof()) diff --git a/hardware/arduino/sam/cores/arduino/WInterrupts.c b/hardware/arduino/sam/cores/arduino/WInterrupts.c index 7653d18f6..87b83e457 100644 --- a/hardware/arduino/sam/cores/arduino/WInterrupts.c +++ b/hardware/arduino/sam/cores/arduino/WInterrupts.c @@ -23,6 +23,7 @@ typedef void (*interruptCB)(void); static interruptCB callbacksPioA[32]; static interruptCB callbacksPioB[32]; static interruptCB callbacksPioC[32]; +static interruptCB callbacksPioD[32]; /* Configure PIO interrupt sources */ static void __initialize() { @@ -31,6 +32,7 @@ static void __initialize() { callbacksPioA[i] = NULL; callbacksPioB[i] = NULL; callbacksPioC[i] = NULL; + callbacksPioD[i] = NULL; } pmc_enable_periph_clk(ID_PIOA); @@ -50,6 +52,12 @@ static void __initialize() { NVIC_ClearPendingIRQ(PIOC_IRQn); NVIC_SetPriority(PIOC_IRQn, 0); NVIC_EnableIRQ(PIOC_IRQn); + + pmc_enable_periph_clk(ID_PIOD); + NVIC_DisableIRQ(PIOD_IRQn); + NVIC_ClearPendingIRQ(PIOD_IRQn); + NVIC_SetPriority(PIOD_IRQn, 0); + NVIC_EnableIRQ(PIOD_IRQn); } @@ -77,6 +85,8 @@ void attachInterrupt(uint32_t pin, void (*callback)(void), uint32_t mode) callbacksPioB[pos] = callback; if (pio == PIOC) callbacksPioC[pos] = callback; + if (pio == PIOD) + callbacksPioD[pos] = callback; // Configure the interrupt mode if (mode == CHANGE) { @@ -156,6 +166,17 @@ void PIOC_Handler(void) { } } +void PIOD_Handler(void) { + uint32_t isr = PIOD->PIO_ISR; + uint32_t i; + for (i=0; i<32; i++, isr>>=1) { + if ((isr & 0x1) == 0) + continue; + if (callbacksPioD[i]) + callbacksPioD[i](); + } +} + #ifdef __cplusplus } #endif