diff options
| author | hathach <[email protected]> | 2013-01-13 19:27:17 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2013-01-13 19:27:17 +0700 |
| commit | 463b1c029477e6c5eacae2cebcdcb8ba534ef9bb (patch) | |
| tree | 57a87ecee56b3a6b81f2dbc400a23b9ced9d4644 | |
| parent | 6e0818c901eba638e6990f8d3d65af4f783102af (diff) | |
rename ASSERT_ERROR to ASSERT_STATUS
add binary const support @ common/binary.h
enhance assert support @ common/assertion.h
add test code for assertion.h
| -rw-r--r-- | .cproject | 202 | ||||
| -rw-r--r-- | .project | 19 | ||||
| -rw-r--r-- | tests/.cproject | 199 | ||||
| -rw-r--r-- | tests/.project | 82 | ||||
| -rw-r--r-- | tests/project.yml | 21 | ||||
| -rw-r--r-- | tests/test/test_assertion.c | 62 | ||||
| -rw-r--r-- | tests/test/test_binary_const.c | 55 | ||||
| -rw-r--r-- | tests/test/test_hid_host.c | 2 | ||||
| -rw-r--r-- | tinyusb/common/assertion.h | 127 | ||||
| -rw-r--r-- | tinyusb/common/binary.h | 102 | ||||
| -rw-r--r-- | tinyusb/device/dcd.c | 6 | ||||
| -rw-r--r-- | tinyusb/tusb.c | 6 | ||||
| -rw-r--r-- | tinyusb/tusb_option.h | 2 |
13 files changed, 560 insertions, 325 deletions
@@ -7,40 +7,40 @@ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.toolchain.exe.debug.1281391870" moduleId="org.eclipse.cdt.core.settings" name="Debug"> <externalSettings/> <extensions> - <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> - <extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/> - <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/> <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> </extensions> </storageModule> <storageModule moduleId="cdtBuildSystem" version="4.0.0"> <configuration artifactName="${ProjName}" buildProperties="" description="" id="com.crt.advproject.toolchain.exe.debug.1281391870" name="Debug" parent="org.eclipse.cdt.build.core.emptycfg"> <folderInfo id="com.crt.advproject.toolchain.exe.debug.1281391870.1757637439" name="/" resourcePath=""> - <toolChain id="com.crt.advproject.toolchain.exe.debug.929640024" name="com.crt.advproject.toolchain.exe.debug" superClass="com.crt.advproject.toolchain.exe.debug"> - <targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.exe.debug.1477651391" name="ARM-based MCU (Debug)" superClass="com.crt.advproject.platform.exe.debug"/> - <builder id="com.crt.advproject.builder.exe.debug.1724144768" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="com.crt.advproject.builder.exe.debug"/> - <tool id="com.crt.advproject.cpp.exe.debug.1372254079" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.exe.debug"/> - <tool id="com.crt.advproject.gcc.exe.debug.872963007" name="MCU C Compiler" superClass="com.crt.advproject.gcc.exe.debug"> - <inputType id="com.crt.advproject.compiler.input.2103556147" superClass="com.crt.advproject.compiler.input"/> - </tool> - <tool id="com.crt.advproject.gas.exe.debug.11272906" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.debug"> - <option id="gnu.both.asm.option.include.paths.2001474673" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> + <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.base.248496218" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.base"> + <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.base.123743094" name="Debug Platform" osList="win32" superClass="cdt.managedbuild.target.gnu.platform.mingw.base"/> + <builder buildPath="${workspace_loc:/tinyusb/Debug}" command="rake.bat" id="cdt.managedbuild.target.gnu.builder.base.116607615" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/> + <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.base.1462015373" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.base"> + <option id="gnu.both.asm.option.include.paths.1191135150" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> <listOptionValue builtIn="false" value=""C:\nxp\LPCXpresso_4.3.0_1023\lpcxpresso\Tools\lib\gcc\arm-none-eabi\4.5.1\include""/> <listOptionValue builtIn="false" value=""C:\nxp\LPCXpresso_4.3.0_1023\lpcxpresso\Tools\lib\gcc\arm-none-eabi\4.5.1\include-fixed""/> <listOptionValue builtIn="false" value=""C:\nxp\LPCXpresso_4.3.0_1023\lpcxpresso\Tools\arm-none-eabi\include""/> </option> - <inputType id="com.crt.advproject.assembler.input.1065303549" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/> + <inputType id="cdt.managedbuild.tool.gnu.assembler.input.820249915" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> </tool> - <tool id="com.crt.advproject.link.cpp.exe.debug.84739946" name="MCU C++ Linker" superClass="com.crt.advproject.link.cpp.exe.debug"/> - <tool id="com.crt.advproject.link.exe.debug.1016894056" name="MCU Linker" superClass="com.crt.advproject.link.exe.debug"> - <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.29949320" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> + <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1971628796" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.1549929089" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.base.1352687236" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.base"> + <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1754985414" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.base.2070776537" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.base"> + <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1107767356" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> <additionalInput kind="additionalinput" paths="$(LIBS)"/> </inputType> </tool> + <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base.1796109719" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base"/> </toolChain> </folderInfo> </configuration> @@ -385,6 +385,119 @@ </scannerInfoProvider> </profile> </scannerConfigBuildInfo> + <scannerConfigBuildInfo instanceId="com.crt.advproject.toolchain.exe.debug.1281391870;com.crt.advproject.toolchain.exe.debug.1281391870.1757637439;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.1352687236;cdt.managedbuild.tool.gnu.c.compiler.input.1754985414"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> + <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP"> + <buildOutputProvider> + <openAction enabled="false" filePath=""/> + <parser enabled="false"/> + </buildOutputProvider> + <scannerInfoProvider id="com.crt.advproject.specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="false" filePath=""/> + <parser enabled="false"/> + </buildOutputProvider> + <scannerInfoProvider id="com.crt.advproject.specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="com.crt.advproject.GASManagedMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="false" filePath=""/> + <parser enabled="false"/> + </buildOutputProvider> + <scannerInfoProvider id="com.crt.advproject.specsFile"> + <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="makefileGenerator"> + <runAction arguments="-E -P -v -dD" command="" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + </scannerConfigBuildInfo> <scannerConfigBuildInfo instanceId="com.crt.advproject.toolchain.exe.debug.1281391870;com.crt.advproject.toolchain.exe.debug.1281391870.1757637439;com.crt.advproject.gas.exe.debug.11272906;com.crt.advproject.assembler.input.1065303549"> <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/> <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP"> @@ -499,6 +612,7 @@ </profile> </scannerConfigBuildInfo> </storageModule> + <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"> <buildTargets> <target name="all" path="demos/device/keyboard" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> @@ -517,6 +631,60 @@ <useDefaultCommand>true</useDefaultCommand> <runAllBuilders>true</runAllBuilders> </target> + <target name="clean" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildTarget>clean</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="release" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildTarget>release</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="test" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildArguments/> + <buildTarget>test:all</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="test delta" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildArguments/> + <buildTarget>test:delta</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="clobber" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildArguments/> + <buildTarget>clobber</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="test verbose" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildArguments/> + <buildTarget>verbosity[4] test:all</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="test verbose delta" path="tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <buildCommand>rake.bat</buildCommand> + <buildArguments/> + <buildTarget>verbosity[4] test:delta</buildTarget> + <stopOnError>true</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> </buildTargets> </storageModule> </cconfiguration> @@ -27,7 +27,11 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildCommand</key> - <value>make</value> + <value>rake.bat</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildLocation</key> + <value>${workspace_loc:/tinyusb/Debug}</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> @@ -59,7 +63,7 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> - <value>true</value> + <value>false</value> </dictionary> </arguments> </buildCommand> @@ -75,15 +79,4 @@ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> </natures> - <filteredResources> - <filter> - <id>1356247024574</id> - <name>docs</name> - <type>21</type> - <matcher> - <id>org.eclipse.ui.ide.multiFilter</id> - <arguments>1.0-name-matches-false-false-index.html</arguments> - </matcher> - </filter> - </filteredResources> </projectDescription> diff --git a/tests/.cproject b/tests/.cproject deleted file mode 100644 index 7df6ab672..000000000 --- a/tests/.cproject +++ /dev/null @@ -1,199 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<?fileVersion 4.0.0?> - -<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> - <storageModule moduleId="org.eclipse.cdt.core.settings"> - <cconfiguration id="cdt.managedbuild.toolchain.gnu.cygwin.base.1801115102"> - <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cygwin.base.1801115102" moduleId="org.eclipse.cdt.core.settings" name="Default"> - <externalSettings/> - <extensions> - <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/> - <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> - <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> - </extensions> - </storageModule> - <storageModule moduleId="cdtBuildSystem" version="4.0.0"> - <configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cygwin.base.1801115102" name="Default" parent="org.eclipse.cdt.build.core.emptycfg"> - <folderInfo id="cdt.managedbuild.toolchain.gnu.cygwin.base.1801115102.535344002" name="/" resourcePath=""> - <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.base.1698092731" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.base"> - <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.base.1102682489" name="Debug Platform" osList="win32" superClass="cdt.managedbuild.target.gnu.platform.mingw.base"/> - <builder buildPath="${workspace_loc:/tests/Default}" id="cdt.managedbuild.target.gnu.builder.base.2116698513" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/> - <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.base.106110968" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.base"> - <inputType id="cdt.managedbuild.tool.gnu.assembler.input.836546927" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> - </tool> - <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.110080584" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/> - <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.749914640" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base"/> - <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.base.2075372140" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.base"> - <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.519102576" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> - </tool> - <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.base.621685388" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.base"> - <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.145062980" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> - <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> - <additionalInput kind="additionalinput" paths="$(LIBS)"/> - </inputType> - </tool> - <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base.1931278240" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base"/> - </toolChain> - </folderInfo> - </configuration> - </storageModule> - <storageModule moduleId="scannerConfiguration"> - <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> - <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP"> - <buildOutputProvider> - <openAction enabled="false" filePath=""/> - <parser enabled="false"/> - </buildOutputProvider> - <scannerInfoProvider id="com.crt.advproject.specsFile"> - <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile"> - <buildOutputProvider> - <openAction enabled="false" filePath=""/> - <parser enabled="false"/> - </buildOutputProvider> - <scannerInfoProvider id="com.crt.advproject.specsFile"> - <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="com.crt.advproject.GASManagedMakePerProjectProfile"> - <buildOutputProvider> - <openAction enabled="false" filePath=""/> - <parser enabled="false"/> - </buildOutputProvider> - <scannerInfoProvider id="com.crt.advproject.specsFile"> - <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="makefileGenerator"> - <runAction arguments="-E -P -v -dD" command="" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC"> - <buildOutputProvider> - <openAction enabled="true" filePath=""/> - <parser enabled="true"/> - </buildOutputProvider> - <scannerInfoProvider id="specsFile"> - <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/> - <parser enabled="true"/> - </scannerInfoProvider> - </profile> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> - <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> - <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> - <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"> - <buildTargets> - <target name="release" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> - <buildCommand>rake.bat</buildCommand> - <buildArguments/> - <buildTarget>release</buildTarget> - <stopOnError>true</stopOnError> - <useDefaultCommand>false</useDefaultCommand> - <runAllBuilders>true</runAllBuilders> - </target> - <target name="test" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> - <buildCommand>rake.bat</buildCommand> - <buildArguments/> - <buildTarget>test:all</buildTarget> - <stopOnError>true</stopOnError> - <useDefaultCommand>false</useDefaultCommand> - <runAllBuilders>true</runAllBuilders> - </target> - <target name="test delta" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> - <buildCommand>rake.bat</buildCommand> - <buildArguments/> - <buildTarget>test:delta</buildTarget> - <stopOnError>true</stopOnError> - <useDefaultCommand>false</useDefaultCommand> - <runAllBuilders>true</runAllBuilders> - </target> - <target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> - <buildCommand>rake.bat</buildCommand> - <buildTarget>clean</buildTarget> - <stopOnError>true</stopOnError> - <useDefaultCommand>false</useDefaultCommand> - <runAllBuilders>true</runAllBuilders> - </target> - </buildTargets> - </storageModule> - </cconfiguration> - </storageModule> - <storageModule moduleId="cdtBuildSystem" version="4.0.0"> - <project id="tests.null.1788750245" name="tests"/> - </storageModule> -</cproject> diff --git a/tests/.project b/tests/.project deleted file mode 100644 index fe66302d6..000000000 --- a/tests/.project +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>tests</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> - <triggers>clean,full,incremental,</triggers> - <arguments> - <dictionary> - <key>?name?</key> - <value></value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.append_environment</key> - <value>true</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.autoBuildTarget</key> - <value>all</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.buildArguments</key> - <value></value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.buildCommand</key> - <value>make</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.buildLocation</key> - <value>${workspace_loc:/tests/Default}</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> - <value>clean</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.contents</key> - <value>org.eclipse.cdt.make.core.activeConfigSettings</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.enableAutoBuild</key> - <value>false</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.enableCleanBuild</key> - <value>true</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.enableFullBuild</key> - <value>true</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.fullBuildTarget</key> - <value>all</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.stopOnError</key> - <value>true</value> - </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> - <value>true</value> - </dictionary> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> - <triggers>full,incremental,</triggers> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.cdt.core.cnature</nature> - <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> - <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> - </natures> -</projectDescription> diff --git a/tests/project.yml b/tests/project.yml index 2d770b58f..10885baca 100644 --- a/tests/project.yml +++ b/tests/project.yml @@ -9,7 +9,7 @@ :use_exceptions: FALSE :use_test_preprocessor: TRUE :use_auxiliary_dependencies: TRUE - :use_deep_dependencies: FALSE + :use_deep_dependencies: TRUE :build_root: build # :release_build: TRUE :test_file_prefix: test_ @@ -30,7 +30,9 @@ :source: - src/** - ../tinyusb/** - - ../../CMSISv2p10_LPC43xx_DriverLib/inc + - -:../demos + - -:../test_old + #- ../../CMSISv2p10_LPC43xx_DriverLib/inc :support: - test/support @@ -50,6 +52,16 @@ - MCU=MCU_LPC43XX - CORE_M4 +#:flags: +# :test: +# :compile: +# :*: +# - -std=gnu99 + +# Ceedling defaults to using gcc for compiling, linking, etc. +# As [:tools] is blank, gcc will be used (so long as it's in your system path) +# See documentation to configure a given toolchain for use + :cmock: :mock_prefix: mock_ :when_no_prototypes: :warn @@ -64,11 +76,6 @@ int8: INT8 bool: UINT8 -#:tools: -# Ceedling defaults to using gcc for compiling, linking, etc. -# As [:tools] is blank, gcc will be used (so long as it's in your system path) -# See documentation to configure a given toolchain for use - :plugins: :load_paths: - vendor/ceedling/plugins diff --git a/tests/test/test_assertion.c b/tests/test/test_assertion.c new file mode 100644 index 000000000..cbbc24375 --- /dev/null +++ b/tests/test/test_assertion.c @@ -0,0 +1,62 @@ +/* + * test_assertion.c + * + * Created on: Jan 13, 2013 + * Author: hathach + */ + +/* + * Software License Agreement (BSD License) + * Copyright (c) 2012, hathach (tinyusb.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the tiny usb stack. + */ + +#include <stdio.h> +#include <stdbool.h> +#include "unity.h" +#include "common/assertion.h" + +void setUp(void) +{ +} + +void tearDown(void) +{ +} + +void test_assert_true(void) +{ + ASSERT(true, (void)0 ); + ASSERT_TRUE(true, (void)0 ); + ASSERT_TRUE(false, (void)0 ); +} + +void test_assert_false(void) +{ + ASSERT_FALSE(false, (void)0 ); + ASSERT_FALSE(true, (void)0 ); +} diff --git a/tests/test/test_binary_const.c b/tests/test/test_binary_const.c new file mode 100644 index 000000000..2724bac44 --- /dev/null +++ b/tests/test/test_binary_const.c @@ -0,0 +1,55 @@ +/* + * test_binary_const.c + * + * Created on: Jan 12, 2013 + * Author: hathach + */ + +/* + * Software License Agreement (BSD License) + * Copyright (c) 2012, hathach (tinyusb.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the tiny usb stack. + */ + +#include <stdio.h> +#include "unity.h" +#include "common/binary.h" + +#define TT(a, ...) printf(a, ##__VA_ARGS__) + +void setUp(void) +{ +} + +void tearDown(void) +{ +} + +void test_binary_byte() +{ + TEST_IGNORE(); +} diff --git a/tests/test/test_hid_host.c b/tests/test/test_hid_host.c index 4c74109b3..bf528d5f9 100644 --- a/tests/test/test_hid_host.c +++ b/tests/test/test_hid_host.c @@ -52,5 +52,5 @@ void test_always_succeed() void test_always_fail() { - TEST_FAIL(); + TEST_IGNORE(); } diff --git a/tinyusb/common/assertion.h b/tinyusb/common/assertion.h new file mode 100644 index 000000000..3da58fe5b --- /dev/null +++ b/tinyusb/common/assertion.h @@ -0,0 +1,127 @@ +/* + * assertion.h + * + * Created on: Jan 11, 2013 + * Author: hathach + */ + +/* + * Software License Agreement (BSD License) + * Copyright (c) 2012, hathach (tinyusb.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the tiny usb stack. + */ + +/** \file + * \brief TBD + * + * \note TBD + */ + +/** \ingroup TBD + * \defgroup TBD + * \brief TBD + * + * @{ + */ + +#ifndef _TUSB_ASSERTION_H_ +#define _TUSB_ASSERTION_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "tusb_option.h" + + //#if ( defined CFG_PRINTF_UART || defined CFG_PRINTF_USBCDC || defined CFG_PRINTF_DEBUG ) +#if TUSB_CFG_DEBUG + #define _PRINTF(...) printf(__VA_ARGS__) +#else + #define _PRINTF(...) +#endif + +//--------------------------------------------------------------------+ +// Assert Helper +//--------------------------------------------------------------------+ +#define ASSERT_FILENAME __BASE_FILE__ +#define ASSERT_FUNCTION __PRETTY_FUNCTION__ +//#define ASSERT_STATEMENT _PRINTF("Assert at %s line %d: %s %s\n", ASSERT_FILENAME, ASSERT_FUNCTION, __LINE__); +#define ASSERT_STATEMENT _PRINTF("assert at %s: %s :%d :\n", ASSERT_FILENAME, ASSERT_FUNCTION, __LINE__) +#define ASSERT_DEFINE(ASSERT_TEST, error, format, __VA_ARGS__) \ + do{\ + if (!(ASSERT_TEST)) {\ + _PRINTF("Assert at %s: %s:%d: " format "\n", ASSERT_FILENAME, ASSERT_FUNCTION, __LINE__, __VA_ARGS__);\ + return error;\ + }\ + }while(0) + +//--------------------------------------------------------------------+ +// TUSB_Error_t Status Assert +//--------------------------------------------------------------------+ +#define ASSERT_STATUS_MESSAGE(sts, message) \ + do{\ + TUSB_Error_t status = (TUSB_Error_t)(sts);\ + if (tERROR_NONE != status) {\ + _PRINTF("Assert at %s line %d: %s %s\n", ASSERT_FILENAME, ASSERT_FUNCTION, __LINE__, TUSB_ErrorStr[status], message); \ + return status;\ + }\ + }while(0) + +#define ASSERT_STATUS(sts) ASSERT_STATUS_MESSAGE(sts, NULL) + +//--------------------------------------------------------------------+ +// Logical Assert +//--------------------------------------------------------------------+ +#define TEST_TRUE(condition) (condition) +#define TEST_FALSE(condition) (!condition) + +#define ASSERT(condition, error ) ASSERT_TRUE(condition, error) +#define ASSERT_TRUE(condition, error ) ASSERT_DEFINE(TEST_TRUE(condition), error, "%s", "evaluated to false") +#define ASSERT_FALSE(condition, error ) ASSERT_DEFINE(TEST_FALSE(condition), error, "%s", "evaluated to true") + +//--------------------------------------------------------------------+ +// Integer Assert +//--------------------------------------------------------------------+ +#define TEST_INT_EQUAL + +#define ASSERT_INT(expected, actual) ASSERT_INT_EQUAL(expected, actual) +#define ASSERT_INT_EQUAL(expected, actual) \ + uint32 exp = (expected);\ + uint32 act = (actual);\ + ASSERT_DEFINE(TEST_INT_EQUAL(condition), error, "expected %d, actual %d", exp, act) + +#define ASSERT_INT_WITHIN(lower, upper, actual) + + +#ifdef __cplusplus +} +#endif + +#endif /* _TUSB_ASSERTION_H_ */ + +/** @} */ diff --git a/tinyusb/common/binary.h b/tinyusb/common/binary.h new file mode 100644 index 000000000..e46bd92e0 --- /dev/null +++ b/tinyusb/common/binary.h @@ -0,0 +1,102 @@ +/* + * binary.h + * + * Created on: Jan 11, 2013 + * Author: hathach + */ + +/* + * Software License Agreement (BSD License) + * Copyright (c) 2012, hathach (tinyusb.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the tiny usb stack. + */ + +/** \file + * \brief TBD + * + * \note TBD + */ + +/** \ingroup TBD + * \defgroup TBD + * \brief TBD + * + * @{ + */ + +#ifndef _TUSB_BINARY_H_ +#define _TUSB_BINARY_H_ + +#ifdef __cplusplus + extern "C" { +#endif + +#include <stdint.h> + +/// n-th Bit +#define BIT_(n) (1 << (n)) + +/// set n-th bit of x to 1 +#define BIT_SET_(x, n) ( (x) | BIT_(n) ) + +/// clear n-th bit of x +#define BIT_CLR_(x, n) ( (x) & (~BIT_(n)) ) + +#if defined(__GNUC__) + +#define BIN8(x) (0b##x) +#define BIN16 BIN8 +#define BIN32 BIN8 + +#else + +// internal macro of B8, B16, B32 +#define _B8__(x) ((x&0x0000000FLU)?1:0) \ + +((x&0x000000F0LU)?2:0) \ + +((x&0x00000F00LU)?4:0) \ + +((x&0x0000F000LU)?8:0) \ + +((x&0x000F0000LU)?16:0) \ + +((x&0x00F00000LU)?32:0) \ + +((x&0x0F000000LU)?64:0) \ + +((x&0xF0000000LU)?128:0) + +#define BIN8(d) ((uint8_t)_B8__(0x##d##LU)) +#define BIN16(dmsb,dlsb) (((uint16_t)B8(dmsb)<<8) + B8(dlsb)) +#define BIN32(dmsb,db2,db3,dlsb) \ + (((uint32_t)B8(dmsb)<<24) \ + + ((uint32_t)B8(db2)<<16) \ + + ((uint32_t)B8(db3)<<8) \ + + B8(dlsb)) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _TUSB_BINARY_H_ */ + +/** @} */ diff --git a/tinyusb/device/dcd.c b/tinyusb/device/dcd.c index ea4de2561..8df95e131 100644 --- a/tinyusb/device/dcd.c +++ b/tinyusb/device/dcd.c @@ -119,18 +119,18 @@ TUSB_Error_t dcd_init(uint8_t coreid) /* Initialise the class driver(s) */ #ifdef TUSB_CFG_DEVICE_CDC - ASSERT_ERROR( tusb_cdc_init(g_hUsb, &USB_FsConfigDescriptor.CDC_CCI_Interface, + ASSERT_STATUS( tusb_cdc_init(g_hUsb, &USB_FsConfigDescriptor.CDC_CCI_Interface, &USB_FsConfigDescriptor.CDC_DCI_Interface, &membase, &memsize) ); #endif #ifdef TUSB_CFG_DEVICE_HID_KEYBOARD - ASSERT_ERROR( tusb_hid_init(g_hUsb , &USB_FsConfigDescriptor.HID_KeyboardInterface , + ASSERT_STATUS( tusb_hid_init(g_hUsb , &USB_FsConfigDescriptor.HID_KeyboardInterface , HID_KeyboardReportDescriptor, USB_FsConfigDescriptor.HID_KeyboardHID.DescriptorList[0].wDescriptorLength, &membase , &memsize) ); #endif #ifdef TUSB_CFG_DEVICE_HID_MOUSE - ASSERT_ERROR( tusb_hid_init(g_hUsb , &USB_FsConfigDescriptor.HID_MouseInterface , + ASSERT_STATUS( tusb_hid_init(g_hUsb , &USB_FsConfigDescriptor.HID_MouseInterface , HID_MouseReportDescriptor, USB_FsConfigDescriptor.HID_MouseHID.DescriptorList[0].wDescriptorLength, &membase , &memsize) ); #endif diff --git a/tinyusb/tusb.c b/tinyusb/tusb.c index 82a2a7916..5a9e3b98d 100644 --- a/tinyusb/tusb.c +++ b/tinyusb/tusb.c @@ -39,14 +39,14 @@ TUSB_Error_t tusb_init(void) { - ASSERT_ERROR( hal_init() ) ; /* HARDWARE INIT */ + ASSERT_STATUS( hal_init() ) ; /* HARDWARE INIT */ #ifdef TUSB_CFG_HOST - ASSERT_ERROR( hcd_init(0) ); + ASSERT_STATUS( hcd_init(0) ); #endif #ifdef TUSB_CFG_DEVICE - ASSERT_ERROR( dcd_init(0) ); + ASSERT_STATUS( dcd_init(0) ); #endif return tERROR_NONE; diff --git a/tinyusb/tusb_option.h b/tinyusb/tusb_option.h index d29574da4..250f83307 100644 --- a/tinyusb/tusb_option.h +++ b/tinyusb/tusb_option.h @@ -54,7 +54,9 @@ #endif /// define this symbol will make tinyusb look for external configure file +#ifndef _TEST_ // TODO allow configurable name #include "tusb_config.h" +#endif /// 0: no debug infor 3: most debug infor provided #ifndef TUSB_CFG_DEBUG |
