diff --git a/cores/arduino/USB/CDC.cpp b/cores/arduino/USB/CDC.cpp index 770c035d487048f8bcdc64d4d30df979d1d01963..5c28e39736e52973d682d144e4eebafc3da95ac3 100644 --- a/cores/arduino/USB/CDC.cpp +++ b/cores/arduino/USB/CDC.cpp @@ -19,7 +19,7 @@ #include <stdint.h> // Include Atmel headers -#include "arduino.h" +#include "Arduino.h" #include "sam.h" #include "wiring_constants.h" #include "USBCore.h" diff --git a/cores/arduino/main.cpp b/cores/arduino/main.cpp index 0f47911a93497afb2ca5bd8af372faf6b856eeea..19b876abdcfbcad4e4fb1a09e9be5ad3f3daad77 100644 --- a/cores/arduino/main.cpp +++ b/cores/arduino/main.cpp @@ -28,6 +28,10 @@ int main( void ) init(); delay(1); +#if defined(USBCON) + USBDevice.init(); + USBDevice.attach(); +#endif setup(); diff --git a/cores/validation/validation_usb_device/build_as6/test.cppproj b/cores/validation/validation_usb_device/build_as6/test.cppproj index 3c231c5eca241b2a0887bd48fa0a5a5df76ea616..2aaeaf2dc0a41e4f747b0981acdf06db39a59b64 100644 --- a/cores/validation/validation_usb_device/build_as6/test.cppproj +++ b/cores/validation/validation_usb_device/build_as6/test.cppproj @@ -137,89 +137,90 @@ <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <ToolchainSettings> <ArmGccCpp> - <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex> - <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss> - <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep> - <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin> - <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec> - <armgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</armgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <armgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </armgcc.compiler.symbols.DefSymbols> - <armgcc.compiler.directories.DefaultIncludePath>False</armgcc.compiler.directories.DefaultIncludePath> - <armgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>../../../../../../../tools/CMSIS/Device/ATMEL</Value> - <Value>../../../../../../../tools/CMSIS/CMSIS/Include</Value> - <Value>../../../../arduino</Value> - <Value>../../../../arduino/USB</Value> - <Value>../../../../../variants/arduino_zero</Value> - <Value>../../../../../libraries/SPI</Value> - <Value>../../../../../libraries/Wire</Value> - </ListValues> - </armgcc.compiler.directories.IncludePaths> - <armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level> - <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection> - <armgcc.compiler.optimization.PrepareDataForGarbageCollection>True</armgcc.compiler.optimization.PrepareDataForGarbageCollection> - <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel> - <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings> - <armgcc.compiler.miscellaneous.OtherFlags>-std=c99</armgcc.compiler.miscellaneous.OtherFlags> - <armgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</armgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned> - <armgcccpp.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - <Value>USB_VID=0x2341</Value> - <Value>USB_PID=0x004d</Value> - </ListValues> - </armgcccpp.compiler.symbols.DefSymbols> - <armgcccpp.compiler.directories.DefaultIncludePath>False</armgcccpp.compiler.directories.DefaultIncludePath> - <armgcccpp.compiler.directories.IncludePaths> - <ListValues> - <Value>../../../../../../../tools/CMSIS/Device/ATMEL</Value> - <Value>../../../../../../../tools/CMSIS/CMSIS/Include</Value> - <Value>../../../../arduino</Value> - <Value>../../../../arduino/USB</Value> - <Value>../../../../../variants/arduino_zero</Value> - <Value>../../../../../libraries/SPI</Value> - <Value>../../../../../libraries/Wire</Value> - </ListValues> - </armgcccpp.compiler.directories.IncludePaths> - <armgcccpp.compiler.optimization.level>Optimize (-O1)</armgcccpp.compiler.optimization.level> - <armgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection> - <armgcccpp.compiler.optimization.PrepareDataForGarbageCollection>True</armgcccpp.compiler.optimization.PrepareDataForGarbageCollection> - <armgcccpp.compiler.optimization.DebugLevel>Maximum (-g3)</armgcccpp.compiler.optimization.DebugLevel> - <armgcccpp.compiler.warnings.AllWarnings>True</armgcccpp.compiler.warnings.AllWarnings> - <armgcccpp.compiler.miscellaneous.OtherFlags>-std=c++98</armgcccpp.compiler.miscellaneous.OtherFlags> - <armgcccpp.linker.general.UseNewlibNano>True</armgcccpp.linker.general.UseNewlibNano> - <armgcccpp.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </armgcccpp.linker.libraries.Libraries> - <armgcccpp.linker.libraries.LibrarySearchPaths> - <ListValues> - <Value>../../../../../variants/arduino_zero/linker_scripts/gcc</Value> - </ListValues> - </armgcccpp.linker.libraries.LibrarySearchPaths> - <armgcccpp.linker.optimization.GarbageCollectUnusedSections>True</armgcccpp.linker.optimization.GarbageCollectUnusedSections> - <armgcccpp.linker.memorysettings.ExternalRAM /> - <armgcccpp.linker.miscellaneous.LinkerFlags>-Tflash.ld</armgcccpp.linker.miscellaneous.LinkerFlags> - <armgcccpp.assembler.general.IncludePaths> - <ListValues> - <Value>../../../arduino</Value> - </ListValues> - </armgcccpp.assembler.general.IncludePaths> - <armgcccpp.assembler.debugging.DebugLevel>Default (-g)</armgcccpp.assembler.debugging.DebugLevel> - <armgcccpp.preprocessingassembler.general.DefaultIncludePath>False</armgcccpp.preprocessingassembler.general.DefaultIncludePath> - <armgcccpp.preprocessingassembler.general.IncludePaths> - <ListValues> - <Value>../../../arduino</Value> - </ListValues> - </armgcccpp.preprocessingassembler.general.IncludePaths> - <armgcccpp.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcccpp.preprocessingassembler.debugging.DebugLevel> - </ArmGccCpp> + <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex> + <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss> + <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep> + <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin> + <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec> + <armgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</armgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <armgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </armgcc.compiler.symbols.DefSymbols> + <armgcc.compiler.directories.DefaultIncludePath>False</armgcc.compiler.directories.DefaultIncludePath> + <armgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../../../../../../../tools/CMSIS/Device/ATMEL</Value> + <Value>../../../../../../../tools/CMSIS/CMSIS/Include</Value> + <Value>../../../../arduino</Value> + <Value>../../../../arduino/USB</Value> + <Value>../../../../../variants/arduino_zero</Value> + <Value>../../../../../libraries/SPI</Value> + <Value>../../../../../libraries/Wire</Value> + </ListValues> + </armgcc.compiler.directories.IncludePaths> + <armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level> + <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection> + <armgcc.compiler.optimization.PrepareDataForGarbageCollection>True</armgcc.compiler.optimization.PrepareDataForGarbageCollection> + <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel> + <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings> + <armgcc.compiler.miscellaneous.OtherFlags>-std=c99</armgcc.compiler.miscellaneous.OtherFlags> + <armgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</armgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned> + <armgcccpp.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + <Value>USB_VID=0x2341</Value> + <Value>USB_PID=0x004d</Value> + <Value>USBCON</Value> + </ListValues> + </armgcccpp.compiler.symbols.DefSymbols> + <armgcccpp.compiler.directories.DefaultIncludePath>False</armgcccpp.compiler.directories.DefaultIncludePath> + <armgcccpp.compiler.directories.IncludePaths> + <ListValues> + <Value>../../../../../../../tools/CMSIS/Device/ATMEL</Value> + <Value>../../../../../../../tools/CMSIS/CMSIS/Include</Value> + <Value>../../../../arduino</Value> + <Value>../../../../arduino/USB</Value> + <Value>../../../../../variants/arduino_zero</Value> + <Value>../../../../../libraries/SPI</Value> + <Value>../../../../../libraries/Wire</Value> + </ListValues> + </armgcccpp.compiler.directories.IncludePaths> + <armgcccpp.compiler.optimization.level>Optimize (-O1)</armgcccpp.compiler.optimization.level> + <armgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection> + <armgcccpp.compiler.optimization.PrepareDataForGarbageCollection>True</armgcccpp.compiler.optimization.PrepareDataForGarbageCollection> + <armgcccpp.compiler.optimization.DebugLevel>Maximum (-g3)</armgcccpp.compiler.optimization.DebugLevel> + <armgcccpp.compiler.warnings.AllWarnings>True</armgcccpp.compiler.warnings.AllWarnings> + <armgcccpp.compiler.miscellaneous.OtherFlags>-std=c++98</armgcccpp.compiler.miscellaneous.OtherFlags> + <armgcccpp.linker.general.UseNewlibNano>True</armgcccpp.linker.general.UseNewlibNano> + <armgcccpp.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </armgcccpp.linker.libraries.Libraries> + <armgcccpp.linker.libraries.LibrarySearchPaths> + <ListValues> + <Value>../../../../../variants/arduino_zero/linker_scripts/gcc</Value> + </ListValues> + </armgcccpp.linker.libraries.LibrarySearchPaths> + <armgcccpp.linker.optimization.GarbageCollectUnusedSections>True</armgcccpp.linker.optimization.GarbageCollectUnusedSections> + <armgcccpp.linker.memorysettings.ExternalRAM /> + <armgcccpp.linker.miscellaneous.LinkerFlags>-Tflash.ld</armgcccpp.linker.miscellaneous.LinkerFlags> + <armgcccpp.assembler.general.IncludePaths> + <ListValues> + <Value>../../../arduino</Value> + </ListValues> + </armgcccpp.assembler.general.IncludePaths> + <armgcccpp.assembler.debugging.DebugLevel>Default (-g)</armgcccpp.assembler.debugging.DebugLevel> + <armgcccpp.preprocessingassembler.general.DefaultIncludePath>False</armgcccpp.preprocessingassembler.general.DefaultIncludePath> + <armgcccpp.preprocessingassembler.general.IncludePaths> + <ListValues> + <Value>../../../arduino</Value> + </ListValues> + </armgcccpp.preprocessingassembler.general.IncludePaths> + <armgcccpp.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcccpp.preprocessingassembler.debugging.DebugLevel> +</ArmGccCpp> </ToolchainSettings> </PropertyGroup> <ItemGroup> @@ -380,14 +381,6 @@ <SubType>compile</SubType> <Link>core\USB\samd21_device.h</Link> </Compile> - <Compile Include="..\..\..\arduino\USB\samd21_host.c"> - <SubType>compile</SubType> - <Link>core\USB\samd21_host.c</Link> - </Compile> - <Compile Include="..\..\..\arduino\USB\samd21_host.h"> - <SubType>compile</SubType> - <Link>core\USB\samd21_host.h</Link> - </Compile> <Compile Include="..\..\..\arduino\USB\USBAPI.h"> <SubType>compile</SubType> <Link>core\USB\USBAPI.h</Link> diff --git a/cores/validation/validation_usb_device/test_usb_device.cpp b/cores/validation/validation_usb_device/test_usb_device.cpp index bdf3318b97f351548ee2b77af1b1a78229062475..4ee6b906e43408940aec27508d3604fae1d63547 100644 --- a/cores/validation/validation_usb_device/test_usb_device.cpp +++ b/cores/validation/validation_usb_device/test_usb_device.cpp @@ -27,10 +27,6 @@ void setup(void) { - USBDevice.init(); - - USBDevice.attach(); - #ifdef HID_ENABLED Mouse.begin();