<?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="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981"> | |||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981" 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.GASErrorParser" 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.GLDErrorParser" 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.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | |||||
</extensions> | |||||
</storageModule> | |||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> | |||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug"> | |||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981." name="/" resourcePath=""> | |||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1521584748" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug"> | |||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1328979261" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1874039358" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.136658012" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32F401RETx" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.931693064" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1753161674" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.37769724" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1254594756" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.112734107" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-F401RE" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1927131243" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || NUCLEO-F401RE || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32F4xx_HAL_Driver/Inc | ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32F4xx/Include | ../Drivers/CMSIS/Include || || || USE_HAL_DRIVER | STM32F401xE || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32F401RETX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || " valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.550275025" name="Convert to binary file (-O binary)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" useByScannerDiscovery="false" value="true" valueType="boolean"/> | |||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1146980315" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/> | |||||
<builder buildPath="${workspace_loc:/steppermotor_F401RE}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1627437733" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1777306776" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.217814115" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/> | |||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1890070416" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1022426386" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.2133935831" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.834312955" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/> | |||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.375866139" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols"> | |||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/> | |||||
<listOptionValue builtIn="false" value="STM32F401xE"/> | |||||
<listOptionValue builtIn="false" value="DEBUG"/> | |||||
</option> | |||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.636256906" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath"> | |||||
<listOptionValue builtIn="false" value="../Core/Inc"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> | |||||
</option> | |||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1153874994" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.433159732" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.2118790906" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.2045932991" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1155516523" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1345782205" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F401RETX_FLASH.ld}" valueType="string"/> | |||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1024828001" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input"> | |||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> | |||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/> | |||||
</inputType> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1522581311" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1991166711" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1078229173" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.373563830" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.163054955" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.385030304" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1543533179" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1831872652" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1919965685" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/> | |||||
</toolChain> | |||||
</folderInfo> | |||||
<sourceEntries> | |||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/> | |||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/> | |||||
</sourceEntries> | |||||
</configuration> | |||||
</storageModule> | |||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | |||||
</cconfiguration> | |||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447"> | |||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447" moduleId="org.eclipse.cdt.core.settings" name="Release"> | |||||
<externalSettings/> | |||||
<extensions> | |||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> | |||||
<extension id="org.eclipse.cdt.core.GASErrorParser" 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.GLDErrorParser" 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.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> | |||||
</extensions> | |||||
</storageModule> | |||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> | |||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release"> | |||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447." name="/" resourcePath=""> | |||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.2026460224" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release"> | |||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1427537661" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1555112336" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.597327217" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32F401RETx" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.938462563" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.882103676" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.652251607" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.273303058" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1986270129" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-F401RE" valueType="string"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1217191424" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || NUCLEO-F401RE || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32F4xx_HAL_Driver/Inc | ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32F4xx/Include | ../Drivers/CMSIS/Include || || || USE_HAL_DRIVER | STM32F401xE || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32F401RETX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || " valueType="string"/> | |||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1203696174" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/> | |||||
<builder buildPath="${workspace_loc:/steppermotor_F401RE}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.2070276260" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.767618105" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1780063784" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/> | |||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.945749225" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.832300821" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.783434427" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.993872491" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/> | |||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2042295911" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols"> | |||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/> | |||||
<listOptionValue builtIn="false" value="STM32F401xE"/> | |||||
</option> | |||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.799838753" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath"> | |||||
<listOptionValue builtIn="false" value="../Core/Inc"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/> | |||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> | |||||
</option> | |||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.394821688" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.2053853752" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1286034124" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.2097007030" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1244727931" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker"> | |||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.371825409" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F401RETX_FLASH.ld}" valueType="string"/> | |||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.364804926" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input"> | |||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> | |||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/> | |||||
</inputType> | |||||
</tool> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1672913778" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1886321982" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.627558008" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.522598585" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1454092935" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.522526284" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.75464954" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1693649190" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/> | |||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.122847835" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/> | |||||
</toolChain> | |||||
</folderInfo> | |||||
<sourceEntries> | |||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/> | |||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/> | |||||
</sourceEntries> | |||||
</configuration> | |||||
</storageModule> | |||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> | |||||
</cconfiguration> | |||||
</storageModule> | |||||
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/> | |||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> | |||||
<project id="steppermotor_F401RE.null.1789662343" name="steppermotor_F401RE"/> | |||||
</storageModule> | |||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> | |||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> | |||||
<storageModule moduleId="scannerConfiguration"> | |||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> | |||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1022426386;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1153874994"> | |||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/> | |||||
</scannerConfigBuildInfo> | |||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.832300821;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.394821688"> | |||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/> | |||||
</scannerConfigBuildInfo> | |||||
</storageModule> | |||||
<storageModule moduleId="refreshScope"/> | |||||
</cproject> |
[PreviousGenFiles] | |||||
AdvancedFolderStructure=true | |||||
HeaderFileListSize=3 | |||||
HeaderFiles#0=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Inc/stm32f4xx_it.h | |||||
HeaderFiles#1=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Inc/stm32f4xx_hal_conf.h | |||||
HeaderFiles#2=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Inc/main.h | |||||
HeaderFolderListSize=1 | |||||
HeaderPath#0=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Inc | |||||
HeaderFiles=; | |||||
SourceFileListSize=3 | |||||
SourceFiles#0=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Src/stm32f4xx_it.c | |||||
SourceFiles#1=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Src/stm32f4xx_hal_msp.c | |||||
SourceFiles#2=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Src/main.c | |||||
SourceFolderListSize=1 | |||||
SourcePath#0=C:/Users/Gregor/STM32CubeIDE/workspace_1.0/steppermotor_F401RE/Core/Src | |||||
SourceFiles=; | |||||
[PreviousLibFiles] | |||||
LibFiles=Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; | |||||
[PreviousUsedCubeIDEFiles] | |||||
SourceFiles=Core\Src\main.c;Core\Src\stm32f4xx_it.c;Core\Src\stm32f4xx_hal_msp.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Core\Src/system_stm32f4xx.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Core\Src/system_stm32f4xx.c;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;; | |||||
HeaderPath=Drivers\STM32F4xx_HAL_Driver\Inc;Drivers\STM32F4xx_HAL_Driver\Inc\Legacy;Drivers\CMSIS\Device\ST\STM32F4xx\Include;Drivers\CMSIS\Include;Core\Inc; | |||||
CDefines=USE_HAL_DRIVER;STM32F401xE;USE_HAL_DRIVER;USE_HAL_DRIVER; | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<projectDescription> | |||||
<name>steppermotor_F401RE</name> | |||||
<comment></comment> | |||||
<projects> | |||||
</projects> | |||||
<buildSpec> | |||||
<buildCommand> | |||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> | |||||
<triggers>clean,full,incremental,</triggers> | |||||
<arguments> | |||||
</arguments> | |||||
</buildCommand> | |||||
<buildCommand> | |||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> | |||||
<triggers>full,incremental,</triggers> | |||||
<arguments> | |||||
</arguments> | |||||
</buildCommand> | |||||
</buildSpec> | |||||
<natures> | |||||
<nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature> | |||||
<nature>com.st.stm32cube.ide.mcu.MCUCubeProjectNature</nature> | |||||
<nature>org.eclipse.cdt.core.cnature</nature> | |||||
<nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature> | |||||
<nature>com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature</nature> | |||||
<nature>com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature</nature> | |||||
<nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature> | |||||
<nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature> | |||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> | |||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> | |||||
</natures> | |||||
</projectDescription> |
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<project> | |||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.286446981" name="Debug"> | |||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> | |||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> | |||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> | |||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> | |||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/> | |||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1184388612868920188" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> | |||||
<language-scope id="org.eclipse.cdt.core.gcc"/> | |||||
<language-scope id="org.eclipse.cdt.core.g++"/> | |||||
</provider> | |||||
</extension> | |||||
</configuration> | |||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1743633447" name="Release"> | |||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> | |||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> | |||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> | |||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> | |||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/> | |||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1184388612868920188" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> | |||||
<language-scope id="org.eclipse.cdt.core.gcc"/> | |||||
<language-scope id="org.eclipse.cdt.core.g++"/> | |||||
</provider> | |||||
</extension> | |||||
</configuration> | |||||
</project> |
635E684B79701B039C64EA45C3F84D30=06D6BDB73C214833FC1C613EA37D5A96 | |||||
8DF89ED150041C4CBC7CB9A9CAA90856=7E7998FE6928AC5B09C3B82F4A5F71B9 | |||||
DC22A860405A8BF2F2C095E5B6529F12=7E7998FE6928AC5B09C3B82F4A5F71B9 | |||||
eclipse.preferences.version=1 |
/******************************************************//** | |||||
* @file l6208.h | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief Header for l6208.c module | |||||
* @note (C) COPYRIGHT 2016 STMicroelectronics | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef _L6208_H_INCLUDED | |||||
#define _L6208_H_INCLUDED | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "l6208_target_config.h" | |||||
#include "motor.h" | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup L6208 | |||||
* @{ | |||||
*/ | |||||
/* Exported Constants --------------------------------------------------------*/ | |||||
/** @addtogroup L6208_Exported_Constants | |||||
* @{ | |||||
*/ | |||||
/// Current FW major version | |||||
#define L6208_FW_MAJOR_VERSION (uint8_t)(1) | |||||
/// Current FW minor version | |||||
#define L6208_FW_MINOR_VERSION (uint8_t)(4) | |||||
/// Current FW patch version | |||||
#define L6208_FW_PATCH_VERSION (uint8_t)(0) | |||||
/// Current FW version | |||||
#define L6208_FW_VERSION (uint32_t)((L6208_FW_MAJOR_VERSION<<16)|\ | |||||
(L6208_FW_MINOR_VERSION<<8)|\ | |||||
(L6208_FW_PATCH_VERSION)) | |||||
/// Max position | |||||
#define L6208_MAX_POSITION (0x7FFFFFFF) | |||||
/// Min position | |||||
#define L6208_MIN_POSITION (0x80000000) | |||||
/// Position range | |||||
#define L6208_POSITION_RANGE ((uint32_t)(L6208_MAX_POSITION -\ | |||||
L6208_MIN_POSITION)) | |||||
/// micro step samples per period/4 | |||||
#define L6208_USTEPS_PER_QUARTER_PERIOD (16) | |||||
/// minimum speed | |||||
#define L6208_MIN_SPEED (16) | |||||
/// minimum acceleration and deceleration rate | |||||
#define L6208_MIN_ACC_DEC_RATE (24) | |||||
/// Mask for HiZ bit in motorDecayMode_t enum | |||||
#define L6208_FAST_DECAY_MODE_MASK (0x1) | |||||
/// L6208 error base number | |||||
#define L6208_ERROR_BASE (0x9000) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/* Exported types ------------------------------------------------------------*/ | |||||
/** @defgroup Error_Types Error Types | |||||
* @{ | |||||
*/ | |||||
/// Errors | |||||
typedef enum { | |||||
L6208_ERROR_SET_HOME = L6208_ERROR_BASE, /// Error while setting home position | |||||
L6208_ERROR_SET_MAX_SPEED = L6208_ERROR_BASE + 1, /// Error while setting max speed | |||||
L6208_ERROR_SET_MIN_SPEED = L6208_ERROR_BASE + 2, /// Error while setting min speed | |||||
L6208_ERROR_SET_ACCELERATION = L6208_ERROR_BASE + 3, /// Error while setting acceleration | |||||
L6208_ERROR_SET_DECELERATION = L6208_ERROR_BASE + 4, /// Error while setting decelaration | |||||
L6208_ERROR_MCU_OSC_CONFIG = L6208_ERROR_BASE + 5, /// Error while configuring mcu oscillator | |||||
L6208_ERROR_MCU_CLOCK_CONFIG = L6208_ERROR_BASE + 6, /// Error while configuring mcu clock | |||||
L6208_ERROR_POSITION = L6208_ERROR_BASE + 7, /// Unexpected current position (wrong number of steps) | |||||
L6208_ERROR_SPEED = L6208_ERROR_BASE + 8, /// Unexpected current speed | |||||
L6208_ERROR_INIT = L6208_ERROR_BASE + 9, /// Unexpected number of devices | |||||
L6208_ERROR_SET_DIRECTION = L6208_ERROR_BASE + 10,/// Error while setting direction | |||||
L6208_ERROR_SET_STEP_MODE = L6208_ERROR_BASE + 11,/// Attempt to set an unsupported step mode | |||||
L6208_ERROR_SET_PWM = L6208_ERROR_BASE + 12,/// Error while setting a PWM parameter | |||||
}errorTypes_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Device_Parameters Device Parameters | |||||
* @{ | |||||
*/ | |||||
/// Device Parameters Structure Type | |||||
typedef struct | |||||
{ | |||||
/// dwelling waiting time counter (tick) | |||||
volatile uint32_t dwellCounter; | |||||
/// motor position indicator (tick) | |||||
uint32_t ticks; | |||||
/// LSByte copy of the previous position (tick) | |||||
uint8_t lsbOldTicks; | |||||
/// LSByte copy of the previous position (tick) ( micro stepping ) | |||||
uint8_t lsbOldUSteppingTicks; | |||||
/// LSByte copy of the current position (tick) | |||||
uint8_t lsbTicks; | |||||
/// P1 = acceleration phase steps number (motor position control mode) | |||||
uint32_t positionTarget1; | |||||
/// P2 = constant speed steps number (motor position control mode) | |||||
uint32_t positionTarget2; | |||||
/// P3 = deceleration phase steps number (motor position control mode) | |||||
uint32_t positionTarget3; | |||||
/// P = total move distance in steps (motor position control mode) | |||||
uint32_t positionTarget; | |||||
/// absolute motor position in microsteps (motor position control mode) | |||||
volatile int32_t absolutePos; | |||||
/// mark position in microsteps (motor position control mode) | |||||
volatile int32_t markPos; | |||||
/// motor position in microsteps (motor position control mode) | |||||
volatile uint32_t step; | |||||
/// dwelling time after position got (ms) | |||||
volatile uint16_t moveDwellTime; | |||||
/// number of micro stepping waveform samples to be rescaled according to selected torque value | |||||
volatile uint8_t uStepsample2scale; | |||||
/// number of micro stepping waveform samples to be updated into the waveform scanning table | |||||
volatile uint8_t uStepsample2update; | |||||
/// microstepping waveform sample index | |||||
volatile uint8_t uStepSample; | |||||
/// system status flags | |||||
volatile uint32_t flags; | |||||
/// current stepper state machine index | |||||
volatile motorState_t motionState; | |||||
/// current step mode | |||||
volatile motorStepMode_t stepMode; | |||||
/// micro stepping waveform scanning sample index increment | |||||
uint8_t uStepInc; | |||||
/// frequency of the VREFA and VREFB PWM | |||||
uint32_t vrefPwmFreq; | |||||
/// current selected torque value | |||||
volatile uint8_t curTorqueScaler; | |||||
/// constant speed phase torque value (%) | |||||
volatile uint8_t runTorque; | |||||
/// acceleration phase torque value (%) | |||||
volatile uint8_t accelTorque; | |||||
/// deceleration phase torque value (%) | |||||
volatile uint8_t decelTorque; | |||||
/// holding phase torque value (%) | |||||
volatile uint8_t holdTorque; | |||||
/// acceleration (steps/s^2) | |||||
volatile uint16_t accelerationSps2; | |||||
/// deceleration (steps/s^2) | |||||
volatile uint16_t decelerationSps2; | |||||
/// acceleration (steps/tick^2) | |||||
volatile uint16_t accelerationSpt2; | |||||
/// deceleration (steps/tick^2) | |||||
volatile uint16_t decelerationSpt2; | |||||
/// maximum speed (steps/s) | |||||
volatile uint16_t maxSpeedSps; | |||||
/// minimum speed (steps/s) | |||||
volatile uint16_t minSpeedSps; | |||||
/// current speed (steps/s) | |||||
volatile uint16_t speedSps; | |||||
/// maximum speed (steps/tick) | |||||
volatile uint32_t maxSpeedSpt; | |||||
/// minimum speed (steps/tick) | |||||
volatile uint32_t minSpeedSpt; | |||||
/// current speed (steps/tick) | |||||
volatile uint32_t speedSpt; | |||||
}deviceParams_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/// Motor driver initialization structure definition | |||||
typedef struct | |||||
{ | |||||
/// acceleration (steps/s^2) | |||||
uint16_t accelerationSps2; | |||||
/// acceleration phase torque value (%) | |||||
uint8_t accelTorque; | |||||
/// deceleration (steps/s^2) | |||||
uint16_t decelerationSps2; | |||||
/// deceleration phase torque value (%) | |||||
uint8_t decelTorque; | |||||
/// maximum speed (steps/s) | |||||
uint16_t maxSpeedSps; | |||||
/// constant speed phase torque value (%) | |||||
uint8_t runTorque; | |||||
/// holding phase torque value (%) | |||||
uint8_t holdTorque; | |||||
/// current step mode | |||||
motorStepMode_t stepMode; | |||||
/// current decay mode (SLOW_DECAY or FAST_DECAY) | |||||
motorDecayMode_t decayMode; | |||||
/// dwelling time after position got (ms) | |||||
uint16_t moveDwellTime; | |||||
/// automatic HiZ on stop | |||||
bool autoHiZstop; | |||||
/// frequency of the VREFA and VREFB PWM | |||||
uint32_t vrefPwmFreq; | |||||
} l6208_Init_t; | |||||
/* Exported functions --------------------------------------------------------*/ | |||||
/** @defgroup L6208_Exported_Functions L6208 Exported Functions | |||||
* @{ | |||||
*/ | |||||
motorDrv_t* L6208_GetMotorHandle(void); //Return handle of the motor driver handle | |||||
void L6208_Init(void* pInit); //Start the L6208 library | |||||
uint16_t L6208_ReadId(void); //Read Id to get driver instance | |||||
void L6208_AttachErrorHandler(void (*callback)(uint16_t error)); //Attach a user callback to the error Handler | |||||
void L6208_AttachFlagInterrupt(void (*callback)(void)); //Attach a user callback to the flag Interrupt | |||||
uint8_t L6208_CheckStatusHw(void); //Check if L6208 has a fault by reading EN pin position | |||||
void L6208_Disable(uint8_t deviceId); //Disable the power bridge | |||||
void L6208_ErrorHandler(uint16_t error); //Error handler which calls the user callback | |||||
void L6208_Enable(uint8_t deviceId); //Enable the power bridge | |||||
void L6208_FlagInterruptHandler(void); //Handler of the flag interrupt which calls the user callback (if defined) | |||||
uint16_t L6208_GetAcceleration(uint8_t deviceId); //Return the acceleration in pps^2 | |||||
uint16_t L6208_GetCurrentSpeed(uint8_t deviceId); //Return the current speed in pps | |||||
motorDecayMode_t L6208_GetDecayMode(uint8_t deviceId); //Get the motor decay mode | |||||
uint16_t L6208_GetDeceleration(uint8_t deviceId); //Return the deceleration in pps^2 | |||||
motorDir_t L6208_GetDirection(uint8_t deviceId); //Get the motor current direction | |||||
uint32_t L6208_GetFwVersion(void); //Return the FW version | |||||
int32_t L6208_GetMark(uint8_t deviceId); //Get the mark position (32b signed) | |||||
uint16_t L6208_GetMaxSpeed(uint8_t deviceId); //Return the max speed in pps | |||||
uint16_t L6208_GetMinSpeed(uint8_t deviceId); //Return the min speed in pps | |||||
motorState_t L6208_GetMotionState(uint8_t deviceId); //Return the motion state | |||||
int32_t L6208_GetPosition(uint8_t deviceId); //Get the current position (32b signed) | |||||
motorStepMode_t L6208_GetStepMode(uint8_t deviceId); //Get the motor step mode | |||||
motorStopMode_t L6208_GetStopMode(uint8_t deviceId); //Get the selected mode to stop the motor | |||||
uint8_t L6208_GetTorque(uint8_t deviceId, motorTorqueMode_t torqueMode); //Get the torque value according to the torque mode | |||||
void L6208_GoHome(uint8_t deviceId); //Go to the home position | |||||
void L6208_GoMark(uint8_t deviceId); //Go to the Mark position | |||||
void L6208_GoTo(uint8_t deviceId, int32_t abs_pos); //Go to the specified position | |||||
void L6208_GoToDir(uint8_t deviceId, motorDir_t direction, int32_t abs_pos); //Go to the specified position using the specified direction | |||||
void L6208_HardHiZ(uint8_t deviceId); //Stop the motor by using the device deceleration and disables the power bridges | |||||
void L6208_HardStop(uint8_t deviceId); //Stop the motor and keeps holding torque | |||||
void L6208_Move(uint8_t deviceId, motorDir_t direction, uint32_t stepCount); //Move the motor by the specified number of steps in the specified direction | |||||
void L6208_ReleaseReset(uint8_t deviceId); //Release the reset pin | |||||
void L6208_Reset(uint8_t deviceId); //Set the reset pin | |||||
void L6208_ResetDevice(void); //Reset L6208 device | |||||
void L6208_Run(uint8_t deviceId, motorDir_t direction); //Run the motor in the specified direction | |||||
bool L6208_SetAcceleration(uint8_t deviceId, uint16_t newAcc); //Set the acceleration in pps^2 | |||||
void L6208_SetDecayMode(uint8_t deviceId, motorDecayMode_t decayMode); //Set the motor decay mode | |||||
bool L6208_SetDeceleration(uint8_t deviceId, uint16_t newDec); //Set the deceleration in pps^2 | |||||
void L6208_SetDirection(uint8_t deviceId, motorDir_t direction); //Set the motor direction | |||||
void L6208_SetHome(uint8_t deviceId, int32_t homePos); //Set the home position | |||||
void L6208_SetMark(uint8_t deviceId, int32_t markPos); //Set the mark position | |||||
bool L6208_SetMaxSpeed(uint8_t deviceId, uint16_t volatile newSpeed); //Set the max speed value in pps | |||||
bool L6208_SetMinSpeed(uint8_t deviceId, uint16_t volatile newSpeed); //Set the max speed value in pps | |||||
bool L6208_SetNbDevices(uint8_t nbDevices); //Set the number of devices | |||||
bool L6208_SetStepMode(uint8_t deviceId, motorStepMode_t stepMode); //Set the motor step mode | |||||
void L6208_SetStopMode(uint8_t deviceId, motorStopMode_t stopMode); //Select the mode to stop the motor | |||||
void L6208_SetTorque(uint8_t deviceId, motorTorqueMode_t torqueMode, uint8_t torqueValue); //Set the torque value according to the torque mode | |||||
bool L6208_SoftStop(uint8_t deviceId); //Progressively stop the motor by using the device deceleration and set deceleration torque | |||||
void L6208_TickHandler(uint8_t deviceId); //Handle the device state machine at each tick timer pulse end | |||||
uint32_t L6208_VrefPwmGetFreq(uint8_t deviceId); //Get the frequency of VREFA and VREFB PWM | |||||
void L6208_VrefPwmSetFreq(uint8_t deviceId, uint32_t newFreq); //Set the frequency of the VREFA and VREFB PWM | |||||
void L6208_WaitWhileActive(uint8_t deviceId); //Wait for the device state becomes Inactive | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup MotorControl_Board_Linked_Functions MotorControl Board Linked Functions | |||||
* @{ | |||||
*/ | |||||
///Delay of the requested number of milliseconds | |||||
extern void L6208_Board_Delay(uint32_t delay); | |||||
///Enable Irq | |||||
extern void L6208_Board_EnableIrq(void); | |||||
///Disable Irq | |||||
extern void L6208_Board_DisableIrq(void); | |||||
///Initialise GPIOs used for L6208 | |||||
extern void L6208_Board_GpioInit(void); | |||||
//Initialize the VREFA or VREFB PWM | |||||
extern bool L6208_Board_VrefPwmInit(uint8_t bridgeId, uint32_t pwmFreq); | |||||
///Set duty cycle of VREFA or VREFB PWM | |||||
extern bool L6208_Board_VrefPwmSetDutyCycle(uint8_t bridgeId,\ | |||||
uint16_t value,\ | |||||
bool valueIsPwmDutyCycle); | |||||
///Start the timer for the VREFA or VREFB PWM | |||||
extern bool L6208_Board_VrefPwmStart(uint8_t bridgeId,\ | |||||
uint32_t pwmFreq); | |||||
///Stop the timer for the VREFA or VREFB PWM | |||||
extern bool L6208_Board_VrefPwmStop(uint8_t bridgeId); | |||||
///Get the period of VREFA and VREFB PWM | |||||
extern uint32_t L6208_Board_VrefPwmGetPeriod(void); | |||||
///Check that the new VREFA and VREFB PWM frequency is nor too low nor too high | |||||
bool L6208_Board_VrefPwmFreqCheck(uint32_t newFreq); | |||||
///Initialize the tick | |||||
extern void L6208_Board_TickInit(void); | |||||
///Start the timer for the tick by using the set tick frequency | |||||
extern void L6208_Board_TickStart(void); | |||||
///Stop the timer for the tick | |||||
extern void L6208_Board_TickStop(void); | |||||
///Get the tick frequency in Hz | |||||
extern uint32_t L6208_Board_TickGetFreq(void); | |||||
///Release the reset pin | |||||
extern void L6208_Board_ReleaseReset(void); | |||||
///Set the reset pin | |||||
extern void L6208_Board_Reset(void); | |||||
///Set the control pin | |||||
extern void L6208_Board_CONTROL_PIN_Set(void); | |||||
///Reset the control pin | |||||
extern void L6208_Board_CONTROL_PIN_Reset(void); | |||||
///Set the clock pin | |||||
extern void L6208_Board_CLOCK_PIN_Set(void); | |||||
///Reset the clock pin | |||||
extern void L6208_Board_CLOCK_PIN_Reset(void); | |||||
///Set the half full pin | |||||
extern void L6208_Board_HALF_FULL_PIN_Set(void); | |||||
///Reset the half full pin | |||||
extern void L6208_Board_HALF_FULL_PIN_Reset(void); | |||||
///Set the dir pin | |||||
extern void L6208_Board_DIR_PIN_Set(void); | |||||
///Reset the dir pin | |||||
extern void L6208_Board_DIR_PIN_Reset(void); | |||||
///Returns the EN pin state | |||||
extern uint32_t L6208_Board_FLAG_PIN_GetState(void); | |||||
///Enable the power bridges (leave the output bridges HiZ) | |||||
extern void L6208_Board_Enable(void); | |||||
///Disable the power bridges (leave the output bridges HiZ) | |||||
extern void L6208_Board_Disable(void); | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* __L6208_H */ | |||||
/******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ |
/******************************************************//** | |||||
* @file l6208_target_config.h | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief Predefines values for the L6208 parameters | |||||
* @note (C) COPYRIGHT 2016 STMicroelectronics | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef __L6208_TARGET_CONFIG_H | |||||
#define __L6208_TARGET_CONFIG_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup L6208 | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup L6208_Exported_Constants | |||||
* @{ | |||||
*/ | |||||
/** @defgroup Predefined_L6208_Parameters_Values Predefined L6208 Parameters Values | |||||
* @{ | |||||
*/ | |||||
/// Acceleration rate in step/s^2 or (1/16)th step/s^2 for microstep modes | |||||
#define L6208_CONF_PARAM_ACC_RATE (1000) | |||||
/// Acceleration current torque in % (from 0 to 100) | |||||
#define L6208_CONF_PARAM_ACC_CURRENT (10) | |||||
/// Deceleration rate in step/s^2 or (1/16)th step/s^2 for microstep modes | |||||
#define L6208_CONF_PARAM_DEC_RATE (1000) | |||||
/// Deceleration current torque in % (from 0 to 100) | |||||
#define L6208_CONF_PARAM_DEC_CURRENT (10) | |||||
/// Running speed in step/s or (1/16)th step/s for microstep modes | |||||
#define L6208_CONF_PARAM_RUNNING_SPEED (1000) | |||||
/// Running current torque in % (from 0 to 100) | |||||
#define L6208_CONF_PARAM_RUNNING_CURRENT (10) | |||||
/// Holding current torque in % (from 0 to 100) | |||||
#define L6208_CONF_PARAM_HOLDING_CURRENT (10) | |||||
/// Step mode via enum motorStepMode_t | |||||
#define L6208_CONF_PARAM_STEP_MODE (STEP_MODE_1_16) | |||||
/// Decay mode via enum motorDecayMode_t | |||||
#define L6208_CONF_PARAM_DECAY_MODE (FAST_DECAY) | |||||
/// Dwelling time in ms | |||||
#define L6208_CONF_PARAM_DWELL_TIME (0) | |||||
/// Automatic HIZ STOP | |||||
#define L6208_CONF_PARAM_AUTO_HIZ_STOP (FALSE) | |||||
/// VREFA and VREFB PWM frequency (Hz) | |||||
#define L6208_CONF_VREF_PWM_FREQUENCY (100000) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* __L6208_TARGET_CONFIG_H */ | |||||
/******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Inc/main.h | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief Header for main.c module | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef __MAIN_H | |||||
#define __MAIN_H | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "x_nucleo_ihmxx.h" | |||||
#include "l6208.h" | |||||
#include "x_nucleo_ihm05a1_stm32f4xx.h" | |||||
#ifdef USE_STM32F4XX_NUCLEO | |||||
#include "x_nucleo_ihm05a1_stm32f4xx.h" | |||||
#endif | |||||
#ifdef USE_STM32F3XX_NUCLEO | |||||
#include "x_nucleo_ihm05a1_stm32f3xx.h" | |||||
#endif | |||||
#ifdef USE_STM32F0XX_NUCLEO | |||||
#include "x_nucleo_ihm05a1_stm32f0xx.h" | |||||
#endif | |||||
#ifdef USE_STM32L0XX_NUCLEO | |||||
#include "x_nucleo_ihm05a1_stm32l0xx.h" | |||||
#endif | |||||
/* Exported types ------------------------------------------------------------*/ | |||||
/* Exported constants --------------------------------------------------------*/ | |||||
/* Exported functions ------------------------------------------------------- */ | |||||
void SystemClock_Config(void); | |||||
void MyErrorHandler(uint16_t error); | |||||
#endif /* __MAIN_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file motor.h | |||||
* @author IPC Rennes | |||||
* @version V1.7.0 | |||||
* @date March 16th, 2018 | |||||
* @brief This file contains all the functions prototypes for motor drivers. | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef __MOTOR_H | |||||
#define __MOTOR_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include <stdint.h> | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup Components | |||||
* @{ | |||||
*/ | |||||
/** @defgroup Motor Motor | |||||
* @{ | |||||
*/ | |||||
/** @defgroup Motor_Exported_Constants Motor Exported Constants | |||||
* @{ | |||||
*/ | |||||
/// boolean for false condition | |||||
#ifndef FALSE | |||||
#define FALSE (0) | |||||
#endif | |||||
/// boolean for true condition | |||||
#ifndef TRUE | |||||
#define TRUE (1) | |||||
#endif | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Motor_Exported_Types Motor Exported Types | |||||
* @{ | |||||
*/ | |||||
/** @defgroup Motor_Boolean_Type Motor Boolean Type | |||||
* @{ | |||||
*/ | |||||
///bool Type | |||||
typedef uint8_t bool; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Device_Direction_Options Device Direction Options | |||||
* @{ | |||||
*/ | |||||
/// Direction options | |||||
typedef enum { | |||||
BACKWARD = 0, | |||||
FORWARD = 1, | |||||
UNKNOW_DIR = ((uint8_t)0xFF) | |||||
} motorDir_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Device_Action_Options Device Action Options | |||||
* @{ | |||||
*/ | |||||
/// Action options | |||||
typedef enum { | |||||
ACTION_RESET = ((uint8_t)0x00), | |||||
ACTION_COPY = ((uint8_t)0x08) | |||||
} motorAction_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Device_States Device States | |||||
* @{ | |||||
*/ | |||||
/// Device states | |||||
typedef enum { | |||||
ACCELERATING = 0, | |||||
DECELERATINGTOSTOP = 1, | |||||
DECELERATING = 2, | |||||
STEADY = 3, | |||||
INDEX_ACCEL = 4, | |||||
INDEX_RUN = 5, | |||||
INDEX_DECEL = 6, | |||||
INDEX_DWELL = 7, | |||||
INACTIVE = 8, | |||||
STANDBY = 9, | |||||
STANDBYTOINACTIVE = 10 | |||||
} motorState_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Device_Step_mode Device Step mode | |||||
* @{ | |||||
*/ | |||||
/// Stepping options | |||||
typedef enum { | |||||
STEP_MODE_FULL = ((uint8_t)0x00), | |||||
STEP_MODE_HALF = ((uint8_t)0x01), | |||||
STEP_MODE_1_4 = ((uint8_t)0x02), | |||||
STEP_MODE_1_8 = ((uint8_t)0x03), | |||||
STEP_MODE_1_16 = ((uint8_t)0x04), | |||||
STEP_MODE_1_32 = ((uint8_t)0x05), | |||||
STEP_MODE_1_64 = ((uint8_t)0x06), | |||||
STEP_MODE_1_128 = ((uint8_t)0x07), | |||||
STEP_MODE_1_256 = ((uint8_t)0x08), | |||||
STEP_MODE_UNKNOW = ((uint8_t)0xFE), | |||||
STEP_MODE_WAVE = ((uint8_t)0xFF) | |||||
} motorStepMode_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Decay_mode Decay mode | |||||
* @{ | |||||
*/ | |||||
/// Decay Mode | |||||
typedef enum { | |||||
SLOW_DECAY = 0, | |||||
FAST_DECAY = 1, | |||||
UNKNOW_DECAY = ((uint8_t)0xFF) | |||||
} motorDecayMode_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Stop_mode Stop mode | |||||
* @{ | |||||
*/ | |||||
/// Stop mode | |||||
typedef enum | |||||
{ | |||||
HOLD_MODE = 0, | |||||
HIZ_MODE = 1, | |||||
STANDBY_MODE = 2, | |||||
UNKNOW_STOP_MODE = ((uint8_t)0xFF) | |||||
} motorStopMode_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Torque_mode Torque mode | |||||
* @{ | |||||
*/ | |||||
/// Torque mode | |||||
typedef enum | |||||
{ | |||||
ACC_TORQUE = 0, | |||||
DEC_TORQUE = 1, | |||||
RUN_TORQUE = 2, | |||||
HOLD_TORQUE = 3, | |||||
CURRENT_TORQUE = 4, | |||||
UNKNOW_TORQUE = ((uint8_t)0xFF) | |||||
} motorTorqueMode_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Dual_Full_Bridge_Configuration Dual Full Bridge Configuration | |||||
* @{ | |||||
*/ | |||||
///Dual full bridge configurations for brush DC motors | |||||
typedef enum { | |||||
PARALLELING_NONE___1_BIDIR_MOTOR_BRIDGE_A__1_BIDIR_MOTOR_BRIDGE_B = 0, | |||||
PARALLELING_NONE___1_BIDIR_MOTOR_BRIDGE_A__2_UNDIR_MOTOR_BRIDGE_B = 1, | |||||
PARALLELING_NONE___2_UNDIR_MOTOR_BRIDGE_A__1_BIDIR_MOTOR_BRIDGE_B = 2, | |||||
PARALLELING_NONE___2_UNDIR_MOTOR_BRIDGE_A__2_UNDIR_MOTOR_BRIDGE_B = 3, | |||||
PARALLELING_IN1A_IN2A__1_UNDIR_MOTOR_BRIDGE_A__1_BIDIR_MOTOR_BRIDGE_B = 4, | |||||
PARALLELING_IN1A_IN2A__1_UNDIR_MOTOR_BRIDGE_A__2_UNDIR_MOTOR_BRIDGE_B = 5, | |||||
PARALLELING_IN1B_IN2B__1_BIDIR_MOTOR_BRIDGE_A__1_UNDIR_MOTOR_BRIDGE_B = 6, | |||||
PARALLELING_IN1B_IN2B__2_UNDIR_MOTOR_BRIDGE_A__1_UNDIR_MOTOR_BRIDGE_B = 7, | |||||
PARALLELING_IN1A_IN2A__IN1B_IN2B__1_UNDIR_MOTOR_BRIDGE_A__1_UNDIR_MOTOR_BRIDGE_B = 8, | |||||
PARALLELING_IN1A_IN2A__IN1B_IN2B__1_BIDIR_MOTOR = 9, | |||||
PARALLELING_IN1A_IN1B__IN2A_IN2B__1_UNDIR_MOTOR_BRIDGE_1A__1_UNDIR_MOTOR_BRIDGE_2A = 10, | |||||
PARALLELING_IN1A_IN1B__IN2A_IN2B__1_BIDIR_MOTOR = 11, | |||||
PARALLELING_ALL_WITH_IN1A___1_UNDIR_MOTOR = 12, | |||||
PARALLELING_END_ENUM = 13 | |||||
} dualFullBridgeConfig_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup Motor_Driver_Structure Motor Driver Structure | |||||
* @{ | |||||
*/ | |||||
/// Motor driver structure definition | |||||
typedef struct | |||||
{ | |||||
/// Function pointer to Init | |||||
void (*Init)(void*); | |||||
/// Function pointer to ReadID | |||||
uint16_t (*ReadID)(void); | |||||
/// Function pointer to AttachErrorHandler | |||||
void(*AttachErrorHandler)(void (*callback)(uint16_t)); | |||||
/// Function pointer to AttachFlagInterrupt | |||||
void (*AttachFlagInterrupt)(void (*callback)(void)); | |||||
/// Function pointer to AttachBusyInterrupt | |||||
void (*AttachBusyInterrupt)(void (*callback)(void)); | |||||
/// Function pointer to FlagInterruptHandler | |||||
void (*FlagInterruptHandler)(void); | |||||
/// Function pointer to GetAcceleration | |||||
uint16_t (*GetAcceleration)(uint8_t); | |||||
/// Function pointer to GetCurrentSpeed | |||||
uint16_t (*GetCurrentSpeed)(uint8_t); | |||||
/// Function pointer to GetDeceleration | |||||
uint16_t (*GetDeceleration)(uint8_t); | |||||
/// Function pointer to GetDeviceState | |||||
motorState_t(*GetDeviceState)(uint8_t); | |||||
/// Function pointer to GetFwVersion | |||||
uint32_t (*GetFwVersion)(void); | |||||
/// Function pointer to GetMark | |||||
int32_t (*GetMark)(uint8_t); | |||||
/// Function pointer to GetMaxSpeed | |||||
uint16_t (*GetMaxSpeed)(uint8_t); | |||||
/// Function pointer to GetMinSpeed | |||||
uint16_t (*GetMinSpeed)(uint8_t); | |||||
/// Function pointer to GetPosition | |||||
int32_t (*GetPosition)(uint8_t); | |||||
/// Function pointer to GoHome | |||||
void (*GoHome)(uint8_t); | |||||
/// Function pointer to GoMark | |||||
void (*GoMark)(uint8_t); | |||||
/// Function pointer to GoTo | |||||
void (*GoTo)(uint8_t, int32_t); | |||||
/// Function pointer to HardStop | |||||
void (*HardStop)(uint8_t); | |||||
/// Function pointer to Move | |||||
void (*Move)(uint8_t, motorDir_t, uint32_t ); | |||||
/// Function pointer to ResetAllDevices | |||||
void (*ResetAllDevices)(void); | |||||
/// Function pointer to Run | |||||
void (*Run)(uint8_t, motorDir_t); | |||||
/// Function pointer to SetAcceleration | |||||
bool(*SetAcceleration)(uint8_t ,uint16_t ); | |||||
/// Function pointer to SetDeceleration | |||||
bool(*SetDeceleration)(uint8_t , uint16_t ); | |||||
/// Function pointer to SetHome | |||||
void (*SetHome)(uint8_t, int32_t); | |||||
/// Function pointer to SetMark | |||||
void (*SetMark)(uint8_t, int32_t); | |||||
/// Function pointer to SetMaxSpeed | |||||
bool (*SetMaxSpeed)(uint8_t, uint16_t ); | |||||
/// Function pointer to SetMinSpeed | |||||
bool (*SetMinSpeed)(uint8_t, uint16_t ); | |||||
/// Function pointer to SoftStop | |||||
bool (*SoftStop)(uint8_t); | |||||
/// Function pointer to StepClockHandler | |||||
void (*StepClockHandler)(uint8_t deviceId); | |||||
/// Function pointer to WaitWhileActive | |||||
void (*WaitWhileActive)(uint8_t); | |||||
/// Function pointer to CmdDisable | |||||
void (*CmdDisable)(uint8_t); | |||||
/// Function pointer to CmdEnable | |||||
void (*CmdEnable)(uint8_t); | |||||
/// Function pointer to CmdGetParam | |||||
uint32_t (*CmdGetParam)(uint8_t, uint32_t); | |||||
/// Function pointer to CmdGetStatus | |||||
uint16_t (*CmdGetStatus)(uint8_t); | |||||
/// Function pointer to CmdNop | |||||
void (*CmdNop)(uint8_t); | |||||
/// Function pointer to CmdSetParam | |||||
void (*CmdSetParam)(uint8_t, uint32_t, uint32_t); | |||||
/// Function pointer to ReadStatusRegister | |||||
uint16_t (*ReadStatusRegister)(uint8_t); | |||||
/// Function pointer to ReleaseReset | |||||
void (*ReleaseReset)(uint8_t); | |||||
/// Function pointer to Reset | |||||
void (*Reset)(uint8_t); | |||||
/// Function pointer to SelectStepMode | |||||
bool (*SelectStepMode)(uint8_t deviceId, motorStepMode_t); | |||||
/// Function pointer to SetDirection | |||||
void (*SetDirection)(uint8_t, motorDir_t); | |||||
/// Function pointer to CmdGoToDir | |||||
void (*CmdGoToDir)(uint8_t, motorDir_t, int32_t); | |||||
/// Function pointer to CheckBusyHw | |||||
uint8_t (*CheckBusyHw)(void); | |||||
/// Function pointer to CheckStatusHw | |||||
uint8_t (*CheckStatusHw)(void); | |||||
/// Function pointer to CmdGoUntil | |||||
void (*CmdGoUntil)(uint8_t, motorAction_t, motorDir_t, uint32_t); | |||||
/// Function pointer to CmdHardHiZ | |||||
void (*CmdHardHiZ)(uint8_t); | |||||
/// Function pointer to CmdReleaseSw | |||||
void (*CmdReleaseSw)(uint8_t, motorAction_t, motorDir_t); | |||||
/// Function pointer to CmdResetDevice | |||||
void (*CmdResetDevice)(uint8_t); | |||||
/// Function pointer to CmdResetPos | |||||
void (*CmdResetPos)(uint8_t); | |||||
/// Function pointer to CmdRun | |||||
void (*CmdRun)(uint8_t, motorDir_t, uint32_t); | |||||
/// Function pointer to CmdSoftHiZ | |||||
void (*CmdSoftHiZ)(uint8_t); | |||||
/// Function pointer to CmdStepClock | |||||
void (*CmdStepClock)(uint8_t, motorDir_t); | |||||
/// Function pointer to FetchAndClearAllStatus | |||||
void (*FetchAndClearAllStatus)(void); | |||||
/// Function pointer to GetFetchedStatus | |||||
uint16_t (*GetFetchedStatus)(uint8_t); | |||||
/// Function pointer to GetNbDevices | |||||
uint8_t (*GetNbDevices)(void); | |||||
/// Function pointer to IsDeviceBusy | |||||
bool (*IsDeviceBusy)(uint8_t); | |||||
/// Function pointer to SendQueuedCommands | |||||
void (*SendQueuedCommands)(void); | |||||
/// Function pointer to QueueCommands | |||||
void (*QueueCommands)(uint8_t, uint8_t, int32_t); | |||||
/// Function pointer to WaitForAllDevicesNotBusy | |||||
void (*WaitForAllDevicesNotBusy)(void); | |||||
/// Function pointer to ErrorHandler | |||||
void (*ErrorHandler)(uint16_t); | |||||
/// Function pointer to BusyInterruptHandler | |||||
void (*BusyInterruptHandler)(void); | |||||
/// Function pointer to CmdSoftStop | |||||
void (*CmdSoftStop)(uint8_t); | |||||
/// Function pointer to StartStepClock | |||||
void (*StartStepClock)(uint16_t); | |||||
/// Function pointer to StopStepClock | |||||
void (*StopStepClock)(void); | |||||
/// Function pointer to SetDualFullBridgeConfig | |||||
void (*SetDualFullBridgeConfig)(uint8_t); | |||||
/// Function pointer to GetBridgeInputPwmFreq | |||||
uint32_t (*GetBridgeInputPwmFreq)(uint8_t); | |||||
/// Function pointer to SetBridgeInputPwmFreq | |||||
void (*SetBridgeInputPwmFreq)(uint8_t, uint32_t); | |||||
/// Function pointer to SetStopMode | |||||
void (*SetStopMode)(uint8_t, motorStopMode_t); | |||||
/// Function pointer to GetStopMode | |||||
motorStopMode_t (*GetStopMode)(uint8_t); | |||||
/// Function pointer to SetDecayMode | |||||
void (*SetDecayMode)(uint8_t, motorDecayMode_t); | |||||
/// Function pointer to GetDecayMode | |||||
motorDecayMode_t (*GetDecayMode)(uint8_t); | |||||
/// Function pointer to GetStepMode | |||||
motorStepMode_t (*GetStepMode)(uint8_t); | |||||
/// Function pointer to GetDirection | |||||
motorDir_t (*GetDirection)(uint8_t); | |||||
/// Function pointer to ExitDeviceFromReset | |||||
void (*ExitDeviceFromReset)(uint8_t); | |||||
/// Function pointer to SetTorque | |||||
void (*SetTorque)(uint8_t, motorTorqueMode_t, uint8_t); | |||||
/// Function pointer to GetTorque | |||||
uint8_t (*GetTorque)(uint8_t, motorTorqueMode_t); | |||||
/// Function pointer to SetVRefFreq | |||||
void (*SetRefFreq)(uint8_t, uint32_t); | |||||
/// Function pointer to GetVRefFreq | |||||
uint32_t (*GetRefFreq)(uint8_t); | |||||
/// Function pointer to SetVRefDc | |||||
void (*SetRefDc)(uint8_t, uint8_t); | |||||
/// Function pointer to GetVRefDc | |||||
uint8_t (*GetRefDc)(uint8_t); | |||||
/// Function pointer to SetNbDevices | |||||
bool (*SetNbDevices)(uint8_t); | |||||
/// Function pointer to SetAnalogValue | |||||
bool (*SetAnalogValue)(uint8_t, uint32_t, float); | |||||
/// Function pointer to GetAnalogValue | |||||
float (*GetAnalogValue)(uint8_t, uint32_t); | |||||
/// Function pointer to SetTorqueBoostEnable | |||||
void (*SetTorqueBoostEnable) (uint8_t, bool); | |||||
/// Function pointer to GetTorqueBoostEnable | |||||
bool (*GetTorqueBoostEnable) (uint8_t); | |||||
/// Function pointer to SetTorqueBoostThreshold | |||||
void (*SetTorqueBoostThreshold) (uint8_t, uint16_t); | |||||
/// Function pointer to GetTorqueBoostThreshold | |||||
uint16_t (*GetTorqueBoostThreshold) (uint8_t); | |||||
/// Function pointer to GetDualFullBridgeConfig | |||||
uint8_t (*GetDualFullBridgeConfig) (void); | |||||
}motorDrv_t; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* __MOTOR_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Inc/stm32f4xx_hal_conf.h | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief HAL configuration file | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef __STM32F4xx_HAL_CONF_H | |||||
#define __STM32F4xx_HAL_CONF_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Exported types ------------------------------------------------------------*/ | |||||
/* Exported constants --------------------------------------------------------*/ | |||||
/* ########################## Module Selection ############################## */ | |||||
/** | |||||
* @brief This is the list of modules to be used in the HAL driver | |||||
*/ | |||||
#define HAL_MODULE_ENABLED | |||||
#define HAL_ADC_MODULE_ENABLED | |||||
/* #define HAL_CAN_MODULE_ENABLED */ | |||||
/* #define HAL_CRC_MODULE_ENABLED */ | |||||
/* #define HAL_CEC_MODULE_ENABLED */ | |||||
/* #define HAL_CRYP_MODULE_ENABLED */ | |||||
/* #define HAL_DAC_MODULE_ENABLED */ | |||||
#define HAL_DMA_MODULE_ENABLED | |||||
/* #define HAL_DMA2D_MODULE_ENABLED */ | |||||
/* #define HAL_ETH_MODULE_ENABLED */ | |||||
#define HAL_FLASH_MODULE_ENABLED | |||||
/* #define HAL_NAND_MODULE_ENABLED */ | |||||
/* #define HAL_NOR_MODULE_ENABLED */ | |||||
/* #define HAL_PCCARD_MODULE_ENABLED */ | |||||
/* #define HAL_SRAM_MODULE_ENABLED */ | |||||
/* #define HAL_SDRAM_MODULE_ENABLED */ | |||||
/* #define HAL_HASH_MODULE_ENABLED */ | |||||
#define HAL_GPIO_MODULE_ENABLED | |||||
/* #define HAL_I2C_MODULE_ENABLED */ | |||||
/* #define HAL_I2S_MODULE_ENABLED */ | |||||
/* #define HAL_IWDG_MODULE_ENABLED */ | |||||
/* #define HAL_LTDC_MODULE_ENABLED */ | |||||
#define HAL_PWR_MODULE_ENABLED | |||||
#define HAL_RCC_MODULE_ENABLED | |||||
/* #define HAL_RNG_MODULE_ENABLED */ | |||||
/* #define HAL_RTC_MODULE_ENABLED */ | |||||
/* #define HAL_SAI_MODULE_ENABLED */ | |||||
/* #define HAL_SD_MODULE_ENABLED */ | |||||
#define HAL_SPI_MODULE_ENABLED | |||||
#define HAL_TIM_MODULE_ENABLED | |||||
/* #define HAL_UART_MODULE_ENABLED */ | |||||
/* #define HAL_USART_MODULE_ENABLED */ | |||||
/* #define HAL_IRDA_MODULE_ENABLED */ | |||||
/* #define HAL_SMARTCARD_MODULE_ENABLED*/ | |||||
/* #define HAL_WWDG_MODULE_ENABLED */ | |||||
#define HAL_CORTEX_MODULE_ENABLED | |||||
/* #define HAL_PCD_MODULE_ENABLED */ | |||||
/* #define HAL_HCD_MODULE_ENABLED */ | |||||
/* ########################## HSE/HSI Values adaptation ##################### */ | |||||
/** | |||||
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application. | |||||
* This value is used by the RCC HAL module to compute the system frequency | |||||
* (when HSE is used as system clock source, directly or through the PLL). | |||||
*/ | |||||
#if !defined (HSE_VALUE) | |||||
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ | |||||
#endif /* HSE_VALUE */ | |||||
#if !defined (HSE_STARTUP_TIMEOUT) | |||||
#define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */ | |||||
#endif /* HSE_STARTUP_TIMEOUT */ | |||||
/** | |||||
* @brief Internal High Speed oscillator (HSI) value. | |||||
* This value is used by the RCC HAL module to compute the system frequency | |||||
* (when HSI is used as system clock source, directly or through the PLL). | |||||
*/ | |||||
#if !defined (HSI_VALUE) | |||||
#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ | |||||
#endif /* HSI_VALUE */ | |||||
/** | |||||
* @brief Internal Low Speed oscillator (LSI) value. | |||||
*/ | |||||
#if !defined (LSI_VALUE) | |||||
#define LSI_VALUE ((uint32_t)32000) | |||||
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz | |||||
The real value may vary depending on the variations | |||||
in voltage and temperature. */ | |||||
/** | |||||
* @brief External Low Speed oscillator (LSE) value. | |||||
*/ | |||||
#if !defined (LSE_VALUE) | |||||
#define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */ | |||||
#endif /* LSE_VALUE */ | |||||
#if !defined (LSE_STARTUP_TIMEOUT) | |||||
#define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */ | |||||
#endif /* LSE_STARTUP_TIMEOUT */ | |||||
/** | |||||
* @brief External clock source for I2S peripheral | |||||
* This value is used by the I2S HAL module to compute the I2S clock source | |||||
* frequency, this source is inserted directly through I2S_CKIN pad. | |||||
*/ | |||||
#if !defined (EXTERNAL_CLOCK_VALUE) | |||||
#define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000) /*!< Value of the Internal oscillator in Hz*/ | |||||
#endif /* EXTERNAL_CLOCK_VALUE */ | |||||
/* Tip: To avoid modifying this file each time you need to use different HSE, | |||||
=== you can define the HSE value in your toolchain compiler preprocessor. */ | |||||
/* ########################### System Configuration ######################### */ | |||||
/** | |||||
* @brief This is the HAL system configuration section | |||||
*/ | |||||
#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ | |||||
#define TICK_INT_PRIORITY ((uint32_t)0x0F) /*!< tick interrupt priority */ | |||||
#define USE_RTOS 0 | |||||
#define PREFETCH_ENABLE 1 | |||||
#define INSTRUCTION_CACHE_ENABLE 1 | |||||
#define DATA_CACHE_ENABLE 1 | |||||
/* ########################## Assert Selection ############################## */ | |||||
/** | |||||
* @brief Uncomment the line below to expanse the "assert_param" macro in the | |||||
* HAL drivers code | |||||
*/ | |||||
/* #define USE_FULL_ASSERT 1 */ | |||||
/* ################## Ethernet peripheral configuration ##################### */ | |||||
/* Section 1 : Ethernet peripheral configuration */ | |||||
/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ | |||||
#define MAC_ADDR0 2 | |||||
#define MAC_ADDR1 0 | |||||
#define MAC_ADDR2 0 | |||||
#define MAC_ADDR3 0 | |||||
#define MAC_ADDR4 0 | |||||
#define MAC_ADDR5 0 | |||||
/* Definition of the Ethernet driver buffers size and count */ | |||||
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ | |||||
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ | |||||
#define ETH_RXBUFNB ((uint32_t)4) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ | |||||
#define ETH_TXBUFNB ((uint32_t)4) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ | |||||
/* Section 2: PHY configuration section */ | |||||
/* DP83848 PHY Address*/ | |||||
#define DP83848_PHY_ADDRESS 0x01 | |||||
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ | |||||
#define PHY_RESET_DELAY ((uint32_t)0x000000FF) | |||||
/* PHY Configuration delay */ | |||||
#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFF) | |||||
#define PHY_READ_TO ((uint32_t)0x0000FFFF) | |||||
#define PHY_WRITE_TO ((uint32_t)0x0000FFFF) | |||||
/* Section 3: Common PHY Registers */ | |||||
#define PHY_BCR ((uint16_t)0x00) /*!< Transceiver Basic Control Register */ | |||||
#define PHY_BSR ((uint16_t)0x01) /*!< Transceiver Basic Status Register */ | |||||
#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */ | |||||
#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */ | |||||
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */ | |||||
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */ | |||||
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */ | |||||
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */ | |||||
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */ | |||||
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */ | |||||
#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */ | |||||
#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */ | |||||
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */ | |||||
#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */ | |||||
#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */ | |||||
/* Section 4: Extended PHY Registers */ | |||||
#define PHY_SR ((uint16_t)0x10) /*!< PHY status register Offset */ | |||||
#define PHY_MICR ((uint16_t)0x11) /*!< MII Interrupt Control Register */ | |||||
#define PHY_MISR ((uint16_t)0x12) /*!< MII Interrupt Status and Misc. Control Register */ | |||||
#define PHY_LINK_STATUS ((uint16_t)0x0001) /*!< PHY Link mask */ | |||||
#define PHY_SPEED_STATUS ((uint16_t)0x0002) /*!< PHY Speed mask */ | |||||
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004) /*!< PHY Duplex mask */ | |||||
#define PHY_MICR_INT_EN ((uint16_t)0x0002) /*!< PHY Enable interrupts */ | |||||
#define PHY_MICR_INT_OE ((uint16_t)0x0001) /*!< PHY Enable output interrupt events */ | |||||
#define PHY_MISR_LINK_INT_EN ((uint16_t)0x0020U) /*!< Enable Interrupt on change of link status */ | |||||
#define PHY_LINK_INTERRUPT ((uint16_t)0x2000U) /*!< PHY link status interrupt mask */ | |||||
/* ################## SPI peripheral configuration ########################## */ | |||||
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver | |||||
* Activated: CRC code is present inside driver | |||||
* Deactivated: CRC code cleaned from driver | |||||
*/ | |||||
#define USE_SPI_CRC 1U | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
/** | |||||
* @brief Include module's header file | |||||
*/ | |||||
#ifdef HAL_RCC_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_rcc.h" | |||||
#endif /* HAL_RCC_MODULE_ENABLED */ | |||||
#ifdef HAL_GPIO_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_gpio.h" | |||||
#endif /* HAL_GPIO_MODULE_ENABLED */ | |||||
#ifdef HAL_DMA_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_dma.h" | |||||
#endif /* HAL_DMA_MODULE_ENABLED */ | |||||
#ifdef HAL_CORTEX_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_cortex.h" | |||||
#endif /* HAL_CORTEX_MODULE_ENABLED */ | |||||
#ifdef HAL_ADC_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_adc.h" | |||||
#endif /* HAL_ADC_MODULE_ENABLED */ | |||||
#ifdef HAL_CAN_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_can.h" | |||||
#endif /* HAL_CAN_MODULE_ENABLED */ | |||||
#ifdef HAL_CRC_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_crc.h" | |||||
#endif /* HAL_CRC_MODULE_ENABLED */ | |||||
#ifdef HAL_CRYP_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_cryp.h" | |||||
#endif /* HAL_CRYP_MODULE_ENABLED */ | |||||
#ifdef HAL_DMA2D_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_dma2d.h" | |||||
#endif /* HAL_DMA2D_MODULE_ENABLED */ | |||||
#ifdef HAL_DAC_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_dac.h" | |||||
#endif /* HAL_DAC_MODULE_ENABLED */ | |||||
#ifdef HAL_DCMI_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_dcmi.h" | |||||
#endif /* HAL_DCMI_MODULE_ENABLED */ | |||||
#ifdef HAL_ETH_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_eth.h" | |||||
#endif /* HAL_ETH_MODULE_ENABLED */ | |||||
#ifdef HAL_FLASH_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_flash.h" | |||||
#endif /* HAL_FLASH_MODULE_ENABLED */ | |||||
#ifdef HAL_SRAM_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_sram.h" | |||||
#endif /* HAL_SRAM_MODULE_ENABLED */ | |||||
#ifdef HAL_NOR_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_nor.h" | |||||
#endif /* HAL_NOR_MODULE_ENABLED */ | |||||
#ifdef HAL_NAND_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_nand.h" | |||||
#endif /* HAL_NAND_MODULE_ENABLED */ | |||||
#ifdef HAL_PCCARD_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_pccard.h" | |||||
#endif /* HAL_PCCARD_MODULE_ENABLED */ | |||||
#ifdef HAL_SDRAM_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_sdram.h" | |||||
#endif /* HAL_SDRAM_MODULE_ENABLED */ | |||||
#ifdef HAL_HASH_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_hash.h" | |||||
#endif /* HAL_HASH_MODULE_ENABLED */ | |||||
#ifdef HAL_I2C_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_i2c.h" | |||||
#endif /* HAL_I2C_MODULE_ENABLED */ | |||||
#ifdef HAL_I2S_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_i2s.h" | |||||
#endif /* HAL_I2S_MODULE_ENABLED */ | |||||
#ifdef HAL_IWDG_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_iwdg.h" | |||||
#endif /* HAL_IWDG_MODULE_ENABLED */ | |||||
#ifdef HAL_LTDC_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_ltdc.h" | |||||
#endif /* HAL_LTDC_MODULE_ENABLED */ | |||||
#ifdef HAL_PWR_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_pwr.h" | |||||
#endif /* HAL_PWR_MODULE_ENABLED */ | |||||
#ifdef HAL_RNG_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_rng.h" | |||||
#endif /* HAL_RNG_MODULE_ENABLED */ | |||||
#ifdef HAL_RTC_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_rtc.h" | |||||
#endif /* HAL_RTC_MODULE_ENABLED */ | |||||
#ifdef HAL_SAI_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_sai.h" | |||||
#endif /* HAL_SAI_MODULE_ENABLED */ | |||||
#ifdef HAL_SD_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_sd.h" | |||||
#endif /* HAL_SD_MODULE_ENABLED */ | |||||
#ifdef HAL_SPI_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_spi.h" | |||||
#endif /* HAL_SPI_MODULE_ENABLED */ | |||||
#ifdef HAL_TIM_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_tim.h" | |||||
#endif /* HAL_TIM_MODULE_ENABLED */ | |||||
#ifdef HAL_UART_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_uart.h" | |||||
#endif /* HAL_UART_MODULE_ENABLED */ | |||||
#ifdef HAL_USART_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_usart.h" | |||||
#endif /* HAL_USART_MODULE_ENABLED */ | |||||
#ifdef HAL_IRDA_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_irda.h" | |||||
#endif /* HAL_IRDA_MODULE_ENABLED */ | |||||
#ifdef HAL_SMARTCARD_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_smartcard.h" | |||||
#endif /* HAL_SMARTCARD_MODULE_ENABLED */ | |||||
#ifdef HAL_WWDG_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_wwdg.h" | |||||
#endif /* HAL_WWDG_MODULE_ENABLED */ | |||||
#ifdef HAL_PCD_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_pcd.h" | |||||
#endif /* HAL_PCD_MODULE_ENABLED */ | |||||
#ifdef HAL_HCD_MODULE_ENABLED | |||||
#include "stm32f4xx_hal_hcd.h" | |||||
#endif /* HAL_HCD_MODULE_ENABLED */ | |||||
/* Exported macro ------------------------------------------------------------*/ | |||||
#ifdef USE_FULL_ASSERT | |||||
/** | |||||
* @brief The assert_param macro is used for function's parameters check. | |||||
* @param expr: If expr is false, it calls assert_failed function | |||||
* which reports the name of the source file and the source | |||||
* line number of the call that failed. | |||||
* If expr is true, it returns no value. | |||||
* @retval None | |||||
*/ | |||||
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) | |||||
/* Exported functions ------------------------------------------------------- */ | |||||
void assert_failed(uint8_t* file, uint32_t line); | |||||
#else | |||||
#define assert_param(expr) ((void)0) | |||||
#endif /* USE_FULL_ASSERT */ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* __STM32F4xx_HAL_CONF_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Inc/stm32f4xx_it.h | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief This file contains the headers of the interrupt handlers. | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef __STM32F4xx_IT_H | |||||
#define __STM32F4xx_IT_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "main.h" | |||||
/* Exported types ------------------------------------------------------------*/ | |||||
/* Exported constants --------------------------------------------------------*/ | |||||
/* Exported macro ------------------------------------------------------------*/ | |||||
/* Exported functions ------------------------------------------------------- */ | |||||
void NMI_Handler(void); | |||||
void HardFault_Handler(void); | |||||
void MemManage_Handler(void); | |||||
void BusFault_Handler(void); | |||||
void UsageFault_Handler(void); | |||||
void SVC_Handler(void); | |||||
void DebugMon_Handler(void); | |||||
void PendSV_Handler(void); | |||||
void SysTick_Handler(void); | |||||
void EXTI15_10_IRQHandler(void); | |||||
void TIM4_IRQHandler(void); | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* __STM32F4xx_IT_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file stm32f4xx_nucleo.h | |||||
* @author MCD Application Team | |||||
* @brief This file contains definitions for: | |||||
* - LEDs and push-button available on STM32F4XX-Nucleo Kit | |||||
* from STMicroelectronics | |||||
* - LCD, joystick and microSD available on Adafruit 1.8" TFT LCD | |||||
* shield (reference ID 802) | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef __STM32F4XX_NUCLEO_H | |||||
#define __STM32F4XX_NUCLEO_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "stm32f4xx_hal.h" | |||||
/* To be defined only if the board is provided with the related shield */ | |||||
/* https://www.adafruit.com/products/802 */ | |||||
#define ADAFRUIT_TFT_JOY_SD_ID802 | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup STM32F4XX_NUCLEO | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup STM32F4XX_NUCLEO_LOW_LEVEL | |||||
* @{ | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Exported_Types STM32F4XX NUCLEO LOW LEVEL Exported Types | |||||
* @{ | |||||
*/ | |||||
typedef enum | |||||
{ | |||||
LED2 = 0 | |||||
}Led_TypeDef; | |||||
typedef enum | |||||
{ | |||||
BUTTON_USER = 0, | |||||
/* Alias */ | |||||
BUTTON_KEY = BUTTON_USER | |||||
} Button_TypeDef; | |||||
typedef enum | |||||
{ | |||||
BUTTON_MODE_GPIO = 0, | |||||
BUTTON_MODE_EXTI = 1 | |||||
}ButtonMode_TypeDef; | |||||
typedef enum | |||||
{ | |||||
JOY_NONE = 0, | |||||
JOY_SEL = 1, | |||||
JOY_DOWN = 2, | |||||
JOY_LEFT = 3, | |||||
JOY_RIGHT = 4, | |||||
JOY_UP = 5 | |||||
}JOYState_TypeDef; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Exported_Constants STM32F4XX NUCLEO LOW LEVEL Exported Constants | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief Define for STM32F4XX_NUCLEO board | |||||
*/ | |||||
#if !defined (USE_STM32F4XX_NUCLEO) | |||||
#define USE_STM32F4XX_NUCLEO | |||||
#endif | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_LED STM32F4XX NUCLEO LOW LEVEL LED | |||||
* @{ | |||||
*/ | |||||
#define LEDn 1 | |||||
#define LED2_PIN GPIO_PIN_5 | |||||
#define LED2_GPIO_PORT GPIOA | |||||
#define LED2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() | |||||
#define LED2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() | |||||
#define LEDx_GPIO_CLK_ENABLE(__INDEX__) LED2_GPIO_CLK_ENABLE() | |||||
#define LEDx_GPIO_CLK_DISABLE(__INDEX__) LED2_GPIO_CLK_DISABLE() | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_BUTTON STM32F4XX NUCLEO LOW LEVEL BUTTON | |||||
* @{ | |||||
*/ | |||||
#define BUTTONn 1 | |||||
/** | |||||
* @brief Key push-button | |||||
*/ | |||||
#define USER_BUTTON_PIN GPIO_PIN_13 | |||||
#define USER_BUTTON_GPIO_PORT GPIOC | |||||
#define USER_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() | |||||
#define USER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() | |||||
#define USER_BUTTON_EXTI_LINE GPIO_PIN_13 | |||||
#define USER_BUTTON_EXTI_IRQn EXTI15_10_IRQn | |||||
#define BUTTONx_GPIO_CLK_ENABLE(__INDEX__) USER_BUTTON_GPIO_CLK_ENABLE() | |||||
#define BUTTONx_GPIO_CLK_DISABLE(__INDEX__) USER_BUTTON_GPIO_CLK_DISABLE() | |||||
/* Aliases */ | |||||
#define KEY_BUTTON_PIN USER_BUTTON_PIN | |||||
#define KEY_BUTTON_GPIO_PORT USER_BUTTON_GPIO_PORT | |||||
#define KEY_BUTTON_GPIO_CLK_ENABLE() USER_BUTTON_GPIO_CLK_ENABLE() | |||||
#define KEY_BUTTON_GPIO_CLK_DISABLE() USER_BUTTON_GPIO_CLK_DISABLE() | |||||
#define KEY_BUTTON_EXTI_LINE USER_BUTTON_EXTI_LINE | |||||
#define KEY_BUTTON_EXTI_IRQn USER_BUTTON_EXTI_IRQn | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_BUS STM32F4XX NUCLEO LOW LEVEL BUS | |||||
* @{ | |||||
*/ | |||||
/*############################### SPI1 #######################################*/ | |||||
#ifdef HAL_SPI_MODULE_ENABLED | |||||
#define NUCLEO_SPIx SPI1 | |||||
#define NUCLEO_SPIx_CLK_ENABLE() __HAL_RCC_SPI1_CLK_ENABLE() | |||||
#define NUCLEO_SPIx_SCK_AF GPIO_AF5_SPI1 | |||||
#define NUCLEO_SPIx_SCK_GPIO_PORT GPIOA | |||||
#define NUCLEO_SPIx_SCK_PIN GPIO_PIN_5 | |||||
#define NUCLEO_SPIx_SCK_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() | |||||
#define NUCLEO_SPIx_SCK_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() | |||||
#define NUCLEO_SPIx_MISO_MOSI_AF GPIO_AF5_SPI1 | |||||
#define NUCLEO_SPIx_MISO_MOSI_GPIO_PORT GPIOA | |||||
#define NUCLEO_SPIx_MISO_MOSI_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() | |||||
#define NUCLEO_SPIx_MISO_MOSI_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() | |||||
#define NUCLEO_SPIx_MISO_PIN GPIO_PIN_6 | |||||
#define NUCLEO_SPIx_MOSI_PIN GPIO_PIN_7 | |||||
/* Maximum Timeout values for flags waiting loops. These timeouts are not based | |||||
on accurate values, they just guarantee that the application will not remain | |||||
stuck if the SPI communication is corrupted. | |||||
You may modify these timeout values depending on CPU frequency and application | |||||
conditions (interrupts routines ...). */ | |||||
#define NUCLEO_SPIx_TIMEOUT_MAX 1000 | |||||
/** | |||||
* @brief SD Control Lines management | |||||
*/ | |||||
#define SD_CS_LOW() HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_RESET) | |||||
#define SD_CS_HIGH() HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_SET) | |||||
/** | |||||
* @brief LCD Control Lines management | |||||
*/ | |||||
#define LCD_CS_LOW() HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_RESET) | |||||
#define LCD_CS_HIGH() HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_SET) | |||||
#define LCD_DC_LOW() HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_RESET) | |||||
#define LCD_DC_HIGH() HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_SET) | |||||
/** | |||||
* @brief SD Control Interface pins (shield D4) | |||||
*/ | |||||
#define SD_CS_PIN GPIO_PIN_5 | |||||
#define SD_CS_GPIO_PORT GPIOB | |||||
#define SD_CS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() | |||||
#define SD_CS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() | |||||
/** | |||||
* @brief LCD Control Interface pins (shield D10) | |||||
*/ | |||||
#define LCD_CS_PIN GPIO_PIN_6 | |||||
#define LCD_CS_GPIO_PORT GPIOB | |||||
#define LCD_CS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() | |||||
#define LCD_CS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() | |||||
/** | |||||
* @brief LCD Data/Command Interface pins (shield D8) | |||||
*/ | |||||
#define LCD_DC_PIN GPIO_PIN_9 | |||||
#define LCD_DC_GPIO_PORT GPIOA | |||||
#define LCD_DC_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() | |||||
#define LCD_DC_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() | |||||
#endif /* HAL_SPI_MODULE_ENABLED */ | |||||
/*################################ ADC1 ######################################*/ | |||||
/** | |||||
* @brief ADC Interface pins | |||||
* used to detect motion of Joystick available on Adafruit 1.8" TFT shield | |||||
*/ | |||||
#ifdef HAL_ADC_MODULE_ENABLED | |||||
#define NUCLEO_ADCx ADC1 | |||||
#define NUCLEO_ADCx_CLK_ENABLE() __HAL_RCC_ADC1_CLK_ENABLE() | |||||
#define NUCLEO_ADCx_CLK_DISABLE() __HAL_RCC_ADC1_CLK_DISABLE() | |||||
#define NUCLEO_ADCx_CHANNEL ADC_CHANNEL_8 | |||||
#define NUCLEO_ADCx_GPIO_PORT GPIOB | |||||
#define NUCLEO_ADCx_GPIO_PIN GPIO_PIN_0 | |||||
#define NUCLEO_ADCx_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() | |||||
#define NUCLEO_ADCx_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() | |||||
#endif /* HAL_ADC_MODULE_ENABLED */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Exported_Macros STM32F4XX NUCLEO LOW LEVEL Exported Macros | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Exported_Functions STM32F4XX NUCLEO LOW LEVEL Exported Functions | |||||
* @{ | |||||
*/ | |||||
uint32_t BSP_GetVersion(void); | |||||
void BSP_LED_Init(Led_TypeDef Led); | |||||
void BSP_LED_DeInit(Led_TypeDef Led); | |||||
void BSP_LED_On(Led_TypeDef Led); | |||||
void BSP_LED_Off(Led_TypeDef Led); | |||||
void BSP_LED_Toggle(Led_TypeDef Led); | |||||
void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode); | |||||
void BSP_PB_DeInit(Button_TypeDef Button); | |||||
uint32_t BSP_PB_GetState(Button_TypeDef Button); | |||||
#ifdef HAL_ADC_MODULE_ENABLED | |||||
uint8_t BSP_JOY_Init(void); | |||||
JOYState_TypeDef BSP_JOY_GetState(void); | |||||
void BSP_JOY_DeInit(void); | |||||
#endif /* HAL_ADC_MODULE_ENABLED */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* __STM32F4XX_NUCLEO_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file x_nucleo_ihm05a1_stm32f4xx.h | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief Header for BSP driver for x-nucleo-ihm05a1 Nucleo extension board | |||||
* (based on L6208) | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2018 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef X_NUCLEO_IHM05A1_STM32F4XX_H | |||||
#define X_NUCLEO_IHM05A1_STM32F4XX_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "stm32f4xx_nucleo.h" | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup X_NUCLEO_IHM05A1_STM32F4XX | |||||
* @{ | |||||
*/ | |||||
/* Exported Constants --------------------------------------------------------*/ | |||||
/** @defgroup IHM05A1_Exported_Constants IHM05A1 Exported Constants | |||||
* @{ | |||||
*/ | |||||
/******************************************************************************/ | |||||
/* USE_STM32F4XX_NUCLEO */ | |||||
/******************************************************************************/ | |||||
/** @defgroup Constants_For_STM32F4XX_NUCLEO Constants For STM32F4XX NUCLEO | |||||
* @{ | |||||
*/ | |||||
/// GPIO Pin used for the VREFA | |||||
#define BSP_MOTOR_CONTROL_BOARD_VREFA_PIN (GPIO_PIN_3) | |||||
/// GPIO port used for the VREFA | |||||
#define BSP_MOTOR_CONTROL_BOARD_VREFA_PORT (GPIOB) | |||||
/// Interrupt line used for L6208 OCD and OVT | |||||
#define FLAG_EXTI_LINE_IRQn (EXTI15_10_IRQn) | |||||
/// Timer used to generate the VREFA PWM | |||||
#define BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM (TIM2) | |||||
/// Timer used to generate the VREFB PWM | |||||
#define BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM (TIM3) | |||||
/// Channel Timer used for the VREFA PWM | |||||
#define BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFA_PWM (TIM_CHANNEL_2) | |||||
/// Channel Timer used for the VREFB PWM | |||||
#define BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFB_PWM (TIM_CHANNEL_2) | |||||
/// HAL Active Channel Timer used for the VREFA PWM | |||||
#define BSP_MOTOR_CONTROL_BOARD_HAL_ACT_CHAN_TIMER_VREFA_PWM (HAL_TIM_ACTIVE_CHANNEL_2) | |||||
/// HAL Active Channel Timer used for the VREFB PWM | |||||
#define BSP_MOTOR_CONTROL_BOARD_HAL_ACT_CHAN_TIMER_VREFB_PWM (HAL_TIM_ACTIVE_CHANNEL_2) | |||||
/// Timer Clock Enable for the VREFA PWM | |||||
#define __BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM_CLCK_ENABLE() __TIM2_CLK_ENABLE() | |||||
/// Timer Clock Disable for the VREFA PWM | |||||
#define __BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM_CLCK_DISABLE() __TIM2_CLK_DISABLE() | |||||
/// Timer Clock Enable for the VREFB PWMs | |||||
#define __BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM_CLCK_ENABLE() __TIM3_CLK_ENABLE() | |||||
/// Timer Clock Disable for the VREFB PWMs | |||||
#define __BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM_CLCK_DISABLE() __TIM3_CLK_DISABLE() | |||||
/// VREFA PWM GPIO alternate function | |||||
#define BSP_MOTOR_CONTROL_BOARD_AFx_TIMx_VREFA_PWM (GPIO_AF1_TIM2) | |||||
/// VREFB PWM GPIO alternate function | |||||
#define BSP_MOTOR_CONTROL_BOARD_AFx_TIMx_VREFB_PWM (GPIO_AF2_TIM3) | |||||
/// Timer used to generate the tick | |||||
#define BSP_MOTOR_CONTROL_BOARD_TIMER_TICK (TIM4) | |||||
/// tick timer global interrupt | |||||
#define BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_IRQn (TIM4_IRQn) | |||||
/// Channel Timer used for the tick | |||||
#define BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_TICK (TIM_CHANNEL_1) | |||||
/// Timer Clock Enable for the tick | |||||
#define __BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_CLCK_ENABLE() __TIM4_CLK_ENABLE() | |||||
/// Timer Clock Disable for the tick | |||||
#define __BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_CLCK_DISABLE() __TIM4_CLK_DISABLE() | |||||
/// HAL Active Channel Timer used for the tick | |||||
#define BSP_MOTOR_CONTROL_BOARD_HAL_ACT_CHAN_TIMER_TICK (HAL_TIM_ACTIVE_CHANNEL_1) | |||||
/// Flag interrupt priority | |||||
#define BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PRIORITY (1) | |||||
/// tick timer priority (lower than flag interrupt priority) | |||||
#define BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_PRIORITY (BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PRIORITY + 1) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/******************************************************************************/ | |||||
/* Independent plateform definitions */ | |||||
/******************************************************************************/ | |||||
/** @defgroup Constants_For_All_Nucleo_Platforms Constants For All Nucleo Platforms | |||||
* @{ | |||||
*/ | |||||
/// GPIO Pin used for the VREFB | |||||
#define BSP_MOTOR_CONTROL_BOARD_VREFB_PIN (GPIO_PIN_7) | |||||
/// GPIO Port used for the VREFB | |||||
#define BSP_MOTOR_CONTROL_BOARD_VREFB_PORT (GPIOC) | |||||
/// GPIO Pin used for the L6208 clock pin (step clock input) | |||||
#define BSP_MOTOR_CONTROL_BOARD_CLOCK_PIN (GPIO_PIN_10) | |||||
/// GPIO port used for the L6208 clock pin (step clock input) | |||||
#define BSP_MOTOR_CONTROL_BOARD_CLOCK_PORT (GPIOB) | |||||
/// GPIO Pin used for the L6208 CW/CCW pin (direction) | |||||
#define BSP_MOTOR_CONTROL_BOARD_DIR_PIN (GPIO_PIN_8) | |||||
/// GPIO port used for the L6208 CW/CCW pin (direction) | |||||
#define BSP_MOTOR_CONTROL_BOARD_DIR_PORT (GPIOA) | |||||
/// GPIO Pin used for the L6208 HALF/FULL pin (step mode selector) | |||||
#define BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PIN (GPIO_PIN_5) | |||||
/// GPIO port used for the L6208 HALF/FULL pin (step mode selector) | |||||
#define BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PORT (GPIOB) | |||||
/// GPIO Pin used for the L6208 control pin (decay mode selector) | |||||
#define BSP_MOTOR_CONTROL_BOARD_CONTROL_PIN (GPIO_PIN_4) | |||||
/// GPIO port used for the L6208 control pin (decay mode selector) | |||||
#define BSP_MOTOR_CONTROL_BOARD_CONTROL_PORT (GPIOB) | |||||
/// GPIO Pin used for the L6208 reset pin | |||||
#define BSP_MOTOR_CONTROL_BOARD_RESET_PIN (GPIO_PIN_9) | |||||
/// GPIO port used for the L6208 reset pin | |||||
#define BSP_MOTOR_CONTROL_BOARD_RESET_PORT (GPIOA) | |||||
/// GPIO Pin used for the L6208 EN pin (chip enable) and OCD and OVT alarms | |||||
#define BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN (GPIO_PIN_10) | |||||
/// GPIO port used for the L6208 EN pin (chip enable) OCD and OVT alarms | |||||
#define BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PORT (GPIOA) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* X_NUCLEO_IHM05A1_STM32F4XX_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file x_nucleo_ihmxx.h | |||||
* @author IPC Rennes | |||||
* @version V1.7.0 | |||||
* @date March 16th, 2018 | |||||
* @brief This file provides common definitions for motor control | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2018 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Define to prevent recursive inclusion -------------------------------------*/ | |||||
#ifndef X_NUCLEO_IHMXX_H | |||||
#define X_NUCLEO_IHMXX_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "motor.h" | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup MOTOR_CONTROL | |||||
* @{ | |||||
*/ | |||||
/** @defgroup MOTOR_CONTROL_Exported_Types MOTOR CONTROL Exported Types | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup MOTOR_CONTROL_Exported_Constants MOTOR CONTROL Exported Constants | |||||
* @{ | |||||
*/ | |||||
/// Motor control error tag (used when trying to call undefined functions via motorDrvHandle) | |||||
#define MOTOR_CONTROL_ERROR_TAG (0x0800) | |||||
///Motor control board id for L6474 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6474 (6474) | |||||
///Motor control board id for L6470 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6470 (6470) | |||||
///Motor control board id for L6472 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6472 (6472) | |||||
///Motor control board id for L6480 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6480 (6480) | |||||
///Motor control board id for L6482 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6482 (6482) | |||||
///Motor control board id for L6474 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6474 (6474) | |||||
///Motor control board id for Powerstep01 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_POWERSTEP01 (0001) | |||||
///Motor control board id for L6206 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6206 (6206) | |||||
///Motor control board id for L6208 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_L6208 (6208) | |||||
///Motor control board id for STSPIN220 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_STSPIN220 (220) | |||||
///Motor control board id for STSPIN240 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_STSPIN240 (240) | |||||
///Motor control board id for STSPIN250 | |||||
#define BSP_MOTOR_CONTROL_BOARD_ID_STSPIN250 (250) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup MOTOR_CONTROL_Exported_Macros MOTOR CONTROL Exported Macros | |||||
* @{ | |||||
*/ | |||||
#if defined ( __GNUC__ ) | |||||
#ifndef __weak | |||||
#define __weak __attribute__((weak)) | |||||
#endif /* __weak */ | |||||
#endif /* __GNUC__ */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup MOTOR_CONTROL_Weak_Function_Prototypes MOTOR CONTROL Weak Function Prototypes | |||||
* @{ | |||||
*/ | |||||
__weak motorDrv_t* L6474_GetMotorHandle(void); | |||||
__weak motorDrv_t* l647x_GetMotorHandle(void); | |||||
__weak motorDrv_t* l648x_GetMotorHandle(void); | |||||
__weak motorDrv_t* Powerstep01_GetMotorHandle(void); | |||||
__weak motorDrv_t* L6206_GetMotorHandle(void); | |||||
__weak motorDrv_t* L6208_GetMotorHandle(void); | |||||
__weak motorDrv_t* Stspin220_GetMotorHandle(void); | |||||
__weak motorDrv_t* Stspin240_250_GetMotorHandle(void); | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup MOTOR_CONTROL_Exported_Functions MOTOR CONTROL Exported Functions | |||||
* @{ | |||||
*/ | |||||
void BSP_MotorControl_AttachErrorHandler(void (*callback)(uint16_t)); | |||||
void BSP_MotorControl_AttachFlagInterrupt(void (*callback)(void)); | |||||
void BSP_MotorControl_AttachBusyInterrupt(void (*callback)(void)); | |||||
void BSP_MotorControl_ErrorHandler(uint16_t error); | |||||
void BSP_MotorControl_Init(uint16_t id, void* initDeviceParameters); | |||||
void BSP_MotorControl_FlagInterruptHandler(void); | |||||
uint16_t BSP_MotorControl_GetAcceleration(uint8_t deviceId); | |||||
uint16_t BSP_MotorControl_GetBoardId(void); | |||||
uint16_t BSP_MotorControl_GetCurrentSpeed(uint8_t deviceId); | |||||
uint16_t BSP_MotorControl_GetDeceleration(uint8_t deviceId); | |||||
motorState_t BSP_MotorControl_GetDeviceState(uint8_t deviceId); | |||||
uint32_t BSP_MotorControl_GetFwVersion(void); | |||||
int32_t BSP_MotorControl_GetMark(uint8_t deviceId); | |||||
uint16_t BSP_MotorControl_GetMaxSpeed(uint8_t deviceId); | |||||
uint16_t BSP_MotorControl_GetMinSpeed(uint8_t deviceId); | |||||
int32_t BSP_MotorControl_GetPosition(uint8_t deviceId); | |||||
void BSP_MotorControl_GoHome(uint8_t deviceId); | |||||
void BSP_MotorControl_GoMark(uint8_t deviceId); | |||||
void BSP_MotorControl_GoTo(uint8_t deviceId, int32_t targetPosition); | |||||
void BSP_MotorControl_HardStop(uint8_t deviceId); | |||||
void BSP_MotorControl_Move(uint8_t deviceId, motorDir_t direction, uint32_t stepCount); | |||||
void BSP_MotorControl_ResetAllDevices(void); | |||||
void BSP_MotorControl_Run(uint8_t deviceId, motorDir_t direction); | |||||
bool BSP_MotorControl_SetAcceleration(uint8_t deviceId,uint16_t newAcc); | |||||
bool BSP_MotorControl_SetDeceleration(uint8_t deviceId, uint16_t newDec); | |||||
void BSP_MotorControl_SetHome(uint8_t deviceId, int32_t homePosition); | |||||
void BSP_MotorControl_SetMark(uint8_t deviceId, int32_t markPosition); | |||||
bool BSP_MotorControl_SetMaxSpeed(uint8_t deviceId, uint16_t newMaxSpeed); | |||||
bool BSP_MotorControl_SetMinSpeed(uint8_t deviceId, uint16_t newMinSpeed); | |||||
bool BSP_MotorControl_SoftStop(uint8_t deviceId); | |||||
void BSP_MotorControl_StepClockHandler(uint8_t deviceId); | |||||
void BSP_MotorControl_WaitWhileActive(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdDisable(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdEnable(uint8_t deviceId); | |||||
uint32_t BSP_MotorControl_CmdGetParam(uint8_t deviceId, uint32_t param); | |||||
uint16_t BSP_MotorControl_CmdGetStatus(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdNop(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdSetParam(uint8_t deviceId, uint32_t param, uint32_t value); | |||||
uint16_t BSP_MotorControl_ReadStatusRegister(uint8_t deviceId); | |||||
void BSP_MotorControl_ReleaseReset(uint8_t deviceId); | |||||
void BSP_MotorControl_Reset(uint8_t deviceId); | |||||
bool BSP_MotorControl_SelectStepMode(uint8_t deviceId, motorStepMode_t stepMode); | |||||
void BSP_MotorControl_SetDirection(uint8_t deviceId, motorDir_t dir); | |||||
void BSP_MotorControl_CmdGoToDir(uint8_t deviceId, motorDir_t dir, int32_t abs_pos); | |||||
uint8_t BSP_MotorControl_CheckBusyHw(void); | |||||
uint8_t BSP_MotorControl_CheckStatusHw(void); | |||||
void BSP_MotorControl_CmdGoUntil(uint8_t deviceId, motorAction_t action, motorDir_t dir, uint32_t speed); | |||||
void BSP_MotorControl_CmdHardHiZ(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdReleaseSw(uint8_t deviceId, motorAction_t action, motorDir_t dir); | |||||
void BSP_MotorControl_CmdResetDevice(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdResetPos(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdRun(uint8_t deviceId, motorDir_t dir, uint32_t speed); | |||||
void BSP_MotorControl_CmdSoftHiZ(uint8_t deviceId); | |||||
void BSP_MotorControl_CmdStepClock(uint8_t deviceId, motorDir_t dir); | |||||
void BSP_MotorControl_FetchAndClearAllStatus(void); | |||||
uint16_t BSP_MotorControl_GetFetchedStatus(uint8_t deviceId); | |||||
uint8_t BSP_MotorControl_GetNbDevices(void); | |||||
bool BSP_MotorControl_IsDeviceBusy(uint8_t deviceId); | |||||
void BSP_MotorControl_SendQueuedCommands(void); | |||||
void BSP_MotorControl_QueueCommands(uint8_t deviceId, uint8_t command, int32_t value); | |||||
void BSP_MotorControl_WaitForAllDevicesNotBusy(void); | |||||
void BSP_MotorControl_BusyInterruptHandler(void); | |||||
void BSP_MotorControl_CmdSoftStop(uint8_t deviceId); | |||||
void BSP_MotorControl_StartStepClock(uint16_t newFreq); | |||||
void BSP_MotorControl_StopStepClock(void); | |||||
void BSP_MotorControl_SetDualFullBridgeConfig(uint8_t config); | |||||
uint32_t BSP_MotorControl_GetBridgeInputPwmFreq(uint8_t bridgeId); | |||||
void BSP_MotorControl_SetBridgeInputPwmFreq(uint8_t bridgeId, uint32_t newFreq); | |||||
void BSP_MotorControl_SetStopMode(uint8_t deviceId, motorStopMode_t stopMode); | |||||
motorStopMode_t BSP_MotorControl_GetStopMode(uint8_t deviceId); | |||||
void BSP_MotorControl_SetDecayMode(uint8_t deviceId, motorDecayMode_t decayMode); | |||||
motorDecayMode_t BSP_MotorControl_GetDecayMode(uint8_t deviceId); | |||||
motorStepMode_t BSP_MotorControl_GetStepMode(uint8_t deviceId); | |||||
motorDir_t BSP_MotorControl_GetDirection(uint8_t deviceId); | |||||
void BSP_MotorControl_ExitDeviceFromReset(uint8_t deviceId); | |||||
uint8_t BSP_MotorControl_GetTorque(uint8_t deviceId, motorTorqueMode_t torqueMode); | |||||
void BSP_MotorControl_SetTorque(uint8_t deviceId, motorTorqueMode_t torqueMode, uint8_t torqueValue); | |||||
void BSP_MotorControl_SetRefFreq(uint8_t refId, uint32_t newFreq); | |||||
uint32_t BSP_MotorControl_GetRefFreq(uint8_t refId); | |||||
void BSP_MotorControl_SetRefDc(uint8_t refId, uint8_t newDc); | |||||
uint8_t BSP_MotorControl_GetRefDc(uint8_t refId); | |||||
bool BSP_MotorControl_SetNbDevices(uint16_t id, uint8_t nbDevices); | |||||
bool BSP_MotorControl_SetAnalogValue(uint8_t deviceId, uint32_t param, float value); | |||||
float BSP_MotorControl_GetAnalogValue(uint8_t deviceId, uint32_t param); | |||||
void BSP_MotorControl_SetTorqueBoostEnable(uint8_t deviceId, bool enable); | |||||
bool BSP_MotorControl_GetTorqueBoostEnable(uint8_t deviceId); | |||||
void BSP_MotorControl_SetTorqueBoostThreshold(uint8_t deviceId, uint16_t speedThreshold); | |||||
uint16_t BSP_MotorControl_GetTorqueBoostThreshold(uint8_t deviceId); | |||||
uint8_t BSP_MotorControl_GetDualFullBridgeConfig(void); | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* X_NUCLEO_IHMXX_H */ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Src/clock_f4.c | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief Clock configuration of the IHM05A1 with a NucleoF4xx | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "main.h" | |||||
/** @defgroup IHM05A1_System_clock_configuration | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief System Clock Configuration | |||||
* The system Clock is configured as follow : | |||||
* System Clock source = PLL (HSE) | |||||
* SYSCLK(Hz) = 84000000 | |||||
* HCLK(Hz) = 84000000 | |||||
* AHB Prescaler = 1 | |||||
* APB1 Prescaler = 2 | |||||
* APB2 Prescaler = 1 | |||||
* HSI Frequency(Hz) = 16000000 | |||||
* PLL_M = 16 | |||||
* PLL_N = 336 | |||||
* PLL_P = 4 | |||||
* PLL_Q = 7 | |||||
* VDD(V) = 3.3 | |||||
* Main regulator output voltage = Scale2 mode | |||||
* Flash Latency(WS) = 2 | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemClock_Config(void) | |||||
{ | |||||
RCC_ClkInitTypeDef RCC_ClkInitStruct; | |||||
RCC_OscInitTypeDef RCC_OscInitStruct; | |||||
/* Enable Power Control clock */ | |||||
__PWR_CLK_ENABLE(); | |||||
/* The voltage scaling allows optimizing the power consumption when the device is | |||||
clocked below the maximum system frequency, to update the voltage scaling value | |||||
regarding system frequency refer to product datasheet. */ | |||||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2); | |||||
/* Enable HSE Oscillator and activate PLL with HSI as source */ | |||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; | |||||
RCC_OscInitStruct.HSIState = RCC_HSI_ON; | |||||
RCC_OscInitStruct.HSICalibrationValue = 16; | |||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; | |||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; | |||||
RCC_OscInitStruct.PLL.PLLM = 16; | |||||
RCC_OscInitStruct.PLL.PLLN = 336; | |||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; | |||||
RCC_OscInitStruct.PLL.PLLQ = 7; | |||||
if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) | |||||
{ | |||||
MyErrorHandler(0); | |||||
} | |||||
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 | |||||
clocks dividers */ | |||||
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); | |||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; | |||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; | |||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; | |||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; | |||||
if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) | |||||
{ | |||||
MyErrorHandler(1); | |||||
} | |||||
} | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Src/main.c | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief This example shows how to use 1 IHM05A1 expansion board | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "main.h" | |||||
/** @defgroup IHM05A1_Example_for_1_motor_device | |||||
* @{ | |||||
*/ | |||||
/* Private typedef -----------------------------------------------------------*/ | |||||
/* Private define ------------------------------------------------------------*/ | |||||
/* Private macro -------------------------------------------------------------*/ | |||||
/* Private variables ---------------------------------------------------------*/ | |||||
static volatile uint16_t gLastError; | |||||
/* Initialization parameters. */ | |||||
l6208_Init_t initDeviceParameters = | |||||
{ | |||||
1500, //Acceleration rate in step/s^2 or (1/16)th step/s^2 for microstep modes | |||||
20, //Acceleration current torque in % (from 0 to 100) | |||||
1500, //Deceleration rate in step/s^2 or (1/16)th step/s^2 for microstep modes | |||||
20, //Deceleration current torque in % (from 0 to 100) | |||||
1500, //Running speed in step/s or (1/16)th step/s for microstep modes | |||||
10, //Running current torque in % (from 0 to 100) | |||||
5, //Holding current torque in % (from 0 to 100) | |||||
STEP_MODE_1_16, //Step mode via enum motorStepMode_t | |||||
FAST_DECAY, //Decay mode via enum motorDecayMode_t | |||||
0, //Dwelling time in ms | |||||
FALSE, //Automatic HIZ STOP | |||||
100000 //VREFA and VREFB PWM frequency (Hz) | |||||
}; | |||||
/* Private function prototypes -----------------------------------------------*/ | |||||
static void MyFlagInterruptHandler(void); | |||||
void ButtonHandler(void); | |||||
/* Private functions ---------------------------------------------------------*/ | |||||
/** | |||||
* @brief Main program | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
int main(void) | |||||
{ | |||||
int32_t pos; | |||||
uint16_t mySpeed; | |||||
uint32_t freqPwm; | |||||
/* STM32xx HAL library initialization */ | |||||
HAL_Init(); | |||||
/* Configure the system clock */ | |||||
SystemClock_Config(); | |||||
//----- Init of the Motor control library | |||||
/* Set the L6208 library to use 1 device */ | |||||
BSP_MotorControl_SetNbDevices(BSP_MOTOR_CONTROL_BOARD_ID_L6208, 1); | |||||
/* When BSP_MotorControl_Init is called with NULL pointer, */ | |||||
/* the L6208 parameters are set with the predefined values from file */ | |||||
/* l6208_target_config.h, otherwise the parameters are set using the */ | |||||
/* initDeviceParameters structure values. */ | |||||
BSP_MotorControl_Init(BSP_MOTOR_CONTROL_BOARD_ID_L6208, NULL); | |||||
//BSP_MotorControl_Init(BSP_MOTOR_CONTROL_BOARD_ID_L6208, &initDeviceParameters); | |||||
/* Attach the function MyFlagInterruptHandler (defined below) to the flag interrupt */ | |||||
BSP_MotorControl_AttachFlagInterrupt(MyFlagInterruptHandler); | |||||
/* Attach the function MyErrorHandler (defined below) to the error Handler*/ | |||||
BSP_MotorControl_AttachErrorHandler(MyErrorHandler); | |||||
//----- Configure Button for user interaction | |||||
/* Set Systick Interrupt priority highest to ensure no lock by using HAL_Delay */ | |||||
HAL_NVIC_SetPriority(SysTick_IRQn, 0x0, 0x0); | |||||
/* Configure KEY Button */ | |||||
BSP_PB_Init(BUTTON_KEY, BUTTON_MODE_EXTI); | |||||
//----- Disable the power bridges after initialization of the L6208 device | |||||
/* Disable the power bridges after initialization */ | |||||
BSP_MotorControl_CmdDisable(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Get the PWM frequency used for the VREFA and VREFB voltage generation | |||||
freqPwm = BSP_MotorControl_GetBridgeInputPwmFreq(0); | |||||
//----- Set the PWM frequency used for the VREFA and VREFB voltage generation | |||||
BSP_MotorControl_SetBridgeInputPwmFreq(0, freqPwm>>1); | |||||
//----- Move of 16000 microsteps in the FW direction | |||||
/* Move device 16000 microsteps in the FORWARD direction */ | |||||
BSP_MotorControl_Move(0, FORWARD, 16000); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Move of 16000 microsteps in the BW direction | |||||
/* Move device 16000 microsteps in the BACKWARD direction*/ | |||||
BSP_MotorControl_Move(0, BACKWARD, 16000); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
/* Set the current position to be the Home position */ | |||||
BSP_MotorControl_SetHome(0, pos); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Go to position -6400 | |||||
/* Request to go to position -6400 */ | |||||
BSP_MotorControl_GoTo(0, -6400); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
if (pos != -6400) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_POSITION); | |||||
} | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
/* Set the current position to be the Mark position */ | |||||
BSP_MotorControl_SetMark(0, pos); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Go Home | |||||
/* Request to go to Home */ | |||||
BSP_MotorControl_GoHome(0); | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Go to position 6400 | |||||
/* Request to go to position 6400 */ | |||||
BSP_MotorControl_CmdGoToDir(0, FORWARD, 6400); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Go Mark which was set previously after go to -6400 | |||||
/* Request to go to Mark position */ | |||||
BSP_MotorControl_GoMark(0); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Run the motor BACKWARD | |||||
/* Request to run BACKWARD */ | |||||
BSP_MotorControl_Run(0, BACKWARD); | |||||
HAL_Delay(5000); | |||||
/* Get current speed */ | |||||
mySpeed = BSP_MotorControl_GetCurrentSpeed(0); | |||||
//----- Increase the speed while running | |||||
/* Increase speed to 2400 microstep/s */ | |||||
BSP_MotorControl_SetMaxSpeed(0, 2400); | |||||
HAL_Delay(5000); | |||||
/* Get current speed */ | |||||
mySpeed = BSP_MotorControl_GetCurrentSpeed(0); | |||||
//----- Decrease the speed while running | |||||
/* Decrease speed to 1200 microstep/s */ | |||||
BSP_MotorControl_SetMaxSpeed(0, 1200); | |||||
HAL_Delay(5000); | |||||
/* Get current speed */ | |||||
mySpeed = BSP_MotorControl_GetCurrentSpeed(0); | |||||
//----- Increase acceleration while running | |||||
/* Increase acceleration to 2000 microstep/s^2 */ | |||||
BSP_MotorControl_SetAcceleration(0, 2000); | |||||
HAL_Delay(5000); | |||||
/* Increase speed to 2400 microstep/s */ | |||||
BSP_MotorControl_SetMaxSpeed(0, 2400); | |||||
HAL_Delay(5000); | |||||
/* Get current speed */ | |||||
mySpeed = BSP_MotorControl_GetCurrentSpeed(0); | |||||
if (mySpeed != 2400) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_SPEED); | |||||
} | |||||
//----- Increase deceleration while running | |||||
/* Increase deceleration to 2000 microstep/s^2 */ | |||||
BSP_MotorControl_SetDeceleration(0, 2000); | |||||
HAL_Delay(5000); | |||||
/* Decrease speed to 1200 microstep/s */ | |||||
BSP_MotorControl_SetMaxSpeed(0, 1200); | |||||
HAL_Delay(5000); | |||||
/* Get current speed */ | |||||
mySpeed = BSP_MotorControl_GetCurrentSpeed(0); | |||||
//----- Soft stopped required while running | |||||
/* Request soft stop */ | |||||
BSP_MotorControl_SoftStop(0); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Run stopped by hardstop | |||||
/* Request to run in FORWARD direction */ | |||||
BSP_MotorControl_Run(0, FORWARD); | |||||
HAL_Delay(5000); | |||||
/* Request to immediatly stop */ | |||||
BSP_MotorControl_HardStop(0); | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- GOTO stopped by softstop | |||||
/* Request to go to position 20000 */ | |||||
BSP_MotorControl_GoTo(0, 20000); | |||||
HAL_Delay(5000); | |||||
/* Request to perform a soft stop */ | |||||
BSP_MotorControl_SoftStop(0); | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Change step mode to full step mode | |||||
/* Select full step mode (normal mode) */ | |||||
BSP_MotorControl_SelectStepMode(0, STEP_MODE_FULL); | |||||
/* Set speed, acceleration and deceleration to scale with normal mode */ | |||||
/* For normal mode and half step mode, these parameters are in steps/s or /s^2 */ | |||||
/* For microstep modes, these parameters are either in (1/16)step/s or /s^2 */ | |||||
BSP_MotorControl_SetMaxSpeed(0, BSP_MotorControl_GetMaxSpeed(0)>>4); | |||||
BSP_MotorControl_SetMinSpeed(0, L6208_MIN_SPEED); | |||||
BSP_MotorControl_SetAcceleration(0, BSP_MotorControl_GetAcceleration(0)>>4); | |||||
BSP_MotorControl_SetDeceleration(0, BSP_MotorControl_GetDeceleration(0)>>4); | |||||
/* Request to go position 200 (full steps) */ | |||||
BSP_MotorControl_GoTo(0, 200); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
if (pos != 200) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_POSITION); | |||||
} | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Change step mode to half step mode | |||||
/* Select half step mode */ | |||||
BSP_MotorControl_SelectStepMode(0, STEP_MODE_HALF); | |||||
/* Request to go position -400 (half steps) */ | |||||
BSP_MotorControl_GoTo(0, -400); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
if (pos != -400) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_POSITION); | |||||
} | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Change step mode 1/4 microstepping mode | |||||
/* Select 1/4 step mode */ | |||||
BSP_MotorControl_SelectStepMode(0, STEP_MODE_1_4); | |||||
/* Set speed, acceleration and deceleration to scale with microstep mode */ | |||||
/* For normal mode and half step mode, these parameters are in steps/s or /s^2 */ | |||||
/* For microstep modes, these parameters are either in (1/16)step/s or /s^2 */ | |||||
BSP_MotorControl_SetMaxSpeed(0, BSP_MotorControl_GetMaxSpeed(0)<<4); | |||||
BSP_MotorControl_SetMinSpeed(0, L6208_MIN_SPEED); | |||||
BSP_MotorControl_SetAcceleration(0, BSP_MotorControl_GetAcceleration(0)<<4); | |||||
BSP_MotorControl_SetDeceleration(0, BSP_MotorControl_GetDeceleration(0)<<4); | |||||
/* Request to go position 800 (quarter steps) */ | |||||
BSP_MotorControl_GoTo(0, 800); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
if (pos != 800) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_POSITION); | |||||
} | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Change step mode 1/8 microstepping mode | |||||
/* Select 1/8 step mode */ | |||||
BSP_MotorControl_SelectStepMode(0, STEP_MODE_1_8); | |||||
/* Request to go position -1600 (1/8th steps) */ | |||||
BSP_MotorControl_GoTo(0, -1600); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
if (pos != -1600) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_POSITION); | |||||
} | |||||
/* Wait for 2 seconds */ | |||||
HAL_Delay(2000); | |||||
//----- Restore 1/16 microstepping mode | |||||
/* Reset device to 1/16 microstepping mode */ | |||||
BSP_MotorControl_SelectStepMode(0, STEP_MODE_1_16); | |||||
/* Set speed and acceleration at lowest values */ | |||||
BSP_MotorControl_SetMaxSpeed(0, L6208_MIN_SPEED); | |||||
BSP_MotorControl_SetAcceleration(0, L6208_MIN_ACC_DEC_RATE); | |||||
BSP_MotorControl_SetDeceleration(0, L6208_MIN_ACC_DEC_RATE); | |||||
/* Move device 49 microsteps (1/16th steps) in the FORWARD direction*/ | |||||
BSP_MotorControl_Move(0, FORWARD, 49); | |||||
/* Wait for the motor ends moving */ | |||||
BSP_MotorControl_WaitWhileActive(0); | |||||
/* Get current position */ | |||||
pos = BSP_MotorControl_GetPosition(0); | |||||
if (pos != 49) | |||||
{ | |||||
MyErrorHandler(L6208_ERROR_POSITION); | |||||
} | |||||
/* Set speed and acceleration from powerspin6208_target_config.h */ | |||||
BSP_MotorControl_SetMaxSpeed(0, L6208_CONF_PARAM_RUNNING_SPEED); | |||||
BSP_MotorControl_SetAcceleration(0, L6208_CONF_PARAM_ACC_RATE); | |||||
BSP_MotorControl_SetDeceleration(0, L6208_CONF_PARAM_DEC_RATE); | |||||
/* Turn off power bridges when motor is stopped */ | |||||
BSP_MotorControl_SetStopMode(0, HIZ_MODE); | |||||
/* Infinite loop */ | |||||
while(1) | |||||
{ | |||||
/* Request to run */ | |||||
BSP_MotorControl_Run(0, BSP_MotorControl_GetDirection(0)); | |||||
HAL_Delay(5000); | |||||
/* Request soft stop */ | |||||
BSP_MotorControl_SoftStop(0); | |||||
HAL_Delay(2000); | |||||
} | |||||
} | |||||
/** | |||||
* @brief This function is the User handler for the flag interrupt | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void MyFlagInterruptHandler(void) | |||||
{ | |||||
//When EN pin is forced low by a failure, configure the GPIO as an ouput low | |||||
BSP_MotorControl_CmdDisable(0); | |||||
} | |||||
/** | |||||
* @brief This function is executed in case of error occurrence. | |||||
* @param error number of the error | |||||
* @retval None | |||||
*/ | |||||
void MyErrorHandler(uint16_t error) | |||||
{ | |||||
/* Backup error number */ | |||||
gLastError = error; | |||||
/* Infinite loop */ | |||||
while(1) | |||||
{ | |||||
} | |||||
} | |||||
/** | |||||
* @brief This function is executed in case of button press and it changes the | |||||
* current direction of the motor | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void ButtonHandler(void) | |||||
{ | |||||
if (BSP_MotorControl_GetDirection(0) != BACKWARD) | |||||
{ | |||||
BSP_MotorControl_SetDirection(0, BACKWARD); | |||||
} | |||||
else | |||||
{ | |||||
BSP_MotorControl_SetDirection(0, FORWARD); | |||||
} | |||||
/* Let 200 ms before clearing the IT for key debouncing */ | |||||
HAL_Delay(200); | |||||
__HAL_GPIO_EXTI_CLEAR_IT(KEY_BUTTON_PIN); | |||||
HAL_NVIC_ClearPendingIRQ(KEY_BUTTON_EXTI_IRQn); | |||||
} | |||||
#ifdef USE_FULL_ASSERT | |||||
/** | |||||
* @brief Reports the name of the source file and the source line number | |||||
* where the assert_param error has occurred. | |||||
* @param file: pointer to the source file name | |||||
* @param line: assert_param error line source number | |||||
* @retval None | |||||
*/ | |||||
void assert_failed(uint8_t* file, uint32_t line) | |||||
{ | |||||
/* User can add his own implementation to report the file name and line number, | |||||
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ | |||||
/* Infinite loop */ | |||||
while (1) | |||||
{ | |||||
} | |||||
} | |||||
#endif | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Src/stm32f4xx_hal_msp.c | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief HAL MSP module. | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "main.h" | |||||
/** @defgroup MSP_module | |||||
* @brief HAL MSP module. | |||||
* @{ | |||||
*/ | |||||
/* Private typedef -----------------------------------------------------------*/ | |||||
/* Private define ------------------------------------------------------------*/ | |||||
/* Private macro -------------------------------------------------------------*/ | |||||
/* Private variables ---------------------------------------------------------*/ | |||||
/* Private function prototypes -----------------------------------------------*/ | |||||
extern void BSP_MotorControl_StepClockHandler(uint8_t deviceId); | |||||
extern void BSP_MotorControl_FlagInterruptHandler(void); | |||||
///ButtonHandler defined in main.c | |||||
extern void ButtonHandler(void); | |||||
/* Private functions ---------------------------------------------------------*/ | |||||
/** @defgroup HAL_MSP_Private_Functions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief PWM MSP Initialization | |||||
* @param[in] htim_pwm PWM handle pointer | |||||
* @retval None | |||||
*/ | |||||
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
if(htim_pwm->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_TICK) | |||||
{ | |||||
/* Peripheral clock enable */ | |||||
__BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_CLCK_ENABLE(); | |||||
/* Set Interrupt Group Priority of Timer Interrupt*/ | |||||
HAL_NVIC_SetPriority(BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_IRQn, BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_PRIORITY, 0); | |||||
/* Enable the timer global Interrupt */ | |||||
HAL_NVIC_EnableIRQ(BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_IRQn); | |||||
} | |||||
if(htim_pwm->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM) | |||||
{ | |||||
/* Peripheral clock enable */ | |||||
__BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM_CLCK_ENABLE(); | |||||
/* Configure L6208 - VREFA pin -------------------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_VREFA_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
GPIO_InitStruct.Alternate = BSP_MOTOR_CONTROL_BOARD_AFx_TIMx_VREFA_PWM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_VREFA_PORT, &GPIO_InitStruct); | |||||
} | |||||
if(htim_pwm->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM) | |||||
{ | |||||
/* Peripheral clock enable */ | |||||
__BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM_CLCK_ENABLE(); | |||||
/* Configure L6208 - VREFB pin -------------------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_VREFB_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
GPIO_InitStruct.Alternate = BSP_MOTOR_CONTROL_BOARD_AFx_TIMx_VREFB_PWM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_VREFB_PORT, &GPIO_InitStruct); | |||||
} | |||||
} | |||||
/** | |||||
* @brief PWM MSP De-Initialization | |||||
* @param[in] htim_pwm PWM handle pointer | |||||
* @retval None | |||||
*/ | |||||
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm) | |||||
{ | |||||
if(htim_pwm->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_TICK) | |||||
{ | |||||
/* Peripheral clock disable */ | |||||
__BSP_MOTOR_CONTROL_BOARD_TIMER_TICK_CLCK_DISABLE(); | |||||
} | |||||
if(htim_pwm->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM) | |||||
{ | |||||
/* Peripheral clock disable */ | |||||
__BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM_CLCK_DISABLE(); | |||||
/* GPIO Deconfiguration */ | |||||
HAL_GPIO_DeInit(BSP_MOTOR_CONTROL_BOARD_VREFA_PORT, BSP_MOTOR_CONTROL_BOARD_VREFA_PIN); | |||||
} | |||||
if(htim_pwm->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM) | |||||
{ | |||||
/* Peripheral clock enable */ | |||||
__BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM_CLCK_DISABLE(); | |||||
/* GPIO Deconfiguration */ | |||||
HAL_GPIO_DeInit(BSP_MOTOR_CONTROL_BOARD_VREFB_PORT, BSP_MOTOR_CONTROL_BOARD_VREFB_PIN); | |||||
} | |||||
} | |||||
/** | |||||
* @brief PWM Callback | |||||
* @param[in] htim PWM handle pointer | |||||
* @retval None | |||||
*/ | |||||
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) | |||||
{ | |||||
if ((htim->Instance == BSP_MOTOR_CONTROL_BOARD_TIMER_TICK)&& (htim->Channel == BSP_MOTOR_CONTROL_BOARD_HAL_ACT_CHAN_TIMER_TICK)) | |||||
{ | |||||
if (BSP_MotorControl_GetDeviceState(0) != INACTIVE) | |||||
{ | |||||
BSP_MotorControl_StepClockHandler(0); | |||||
} | |||||
} | |||||
} | |||||
/** | |||||
* @brief External Line Callback | |||||
* @param[in] GPIO_Pin pin number | |||||
* @retval None | |||||
*/ | |||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) | |||||
{ | |||||
if (GPIO_Pin == BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN) | |||||
{ | |||||
BSP_MotorControl_FlagInterruptHandler(); | |||||
} | |||||
if (GPIO_Pin == KEY_BUTTON_PIN) | |||||
{ | |||||
ButtonHandler(); | |||||
} | |||||
} | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Src/stm32f4xx_it.c | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief Main Interrupt Service Routines. | |||||
* This file provides template for all exceptions handler and | |||||
* peripherals interrupt service routine. | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "stm32f4xx_it.h" | |||||
/** @addtogroup Interrupt_Handlers | |||||
* @{ | |||||
*/ | |||||
/* Private typedef -----------------------------------------------------------*/ | |||||
/* Private define ------------------------------------------------------------*/ | |||||
/* Private macro -------------------------------------------------------------*/ | |||||
/* Private variables ---------------------------------------------------------*/ | |||||
extern TIM_HandleTypeDef hTimTick; | |||||
/* Private function prototypes -----------------------------------------------*/ | |||||
/* Private functions ---------------------------------------------------------*/ | |||||
/******************************************************************************/ | |||||
/* Cortex-M4 Processor Exceptions Handlers */ | |||||
/******************************************************************************/ | |||||
/** | |||||
* @brief This function handles NMI exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void NMI_Handler(void) | |||||
{ | |||||
} | |||||
/** | |||||
* @brief This function handles Hard Fault exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void HardFault_Handler(void) | |||||
{ | |||||
/* Go to infinite loop when Hard Fault exception occurs */ | |||||
while (1) | |||||
{ | |||||
} | |||||
} | |||||
/** | |||||
* @brief This function handles Memory Manage exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void MemManage_Handler(void) | |||||
{ | |||||
/* Go to infinite loop when Memory Manage exception occurs */ | |||||
while (1) | |||||
{ | |||||
} | |||||
} | |||||
/** | |||||
* @brief This function handles Bus Fault exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void BusFault_Handler(void) | |||||
{ | |||||
/* Go to infinite loop when Bus Fault exception occurs */ | |||||
while (1) | |||||
{ | |||||
} | |||||
} | |||||
/** | |||||
* @brief This function handles Usage Fault exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void UsageFault_Handler(void) | |||||
{ | |||||
/* Go to infinite loop when Usage Fault exception occurs */ | |||||
while (1) | |||||
{ | |||||
} | |||||
} | |||||
/** | |||||
* @brief This function handles SVCall exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SVC_Handler(void) | |||||
{ | |||||
} | |||||
/** | |||||
* @brief This function handles Debug Monitor exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void DebugMon_Handler(void) | |||||
{ | |||||
} | |||||
/** | |||||
* @brief This function handles PendSVC exception. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void PendSV_Handler(void) | |||||
{ | |||||
} | |||||
/** | |||||
* @brief This function handles SysTick Handler. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SysTick_Handler(void) | |||||
{ | |||||
HAL_IncTick(); | |||||
} | |||||
/******************************************************************************/ | |||||
/* STM32F4xx Peripherals Interrupt Handlers */ | |||||
/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ | |||||
/* available peripheral interrupt handler's name please refer to the startup */ | |||||
/* file (startup_stm32f4xx.s). */ | |||||
/******************************************************************************/ | |||||
/** | |||||
* @brief This function handles interrupt for External lines 10 to 15 | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void EXTI15_10_IRQHandler(void) | |||||
{ | |||||
HAL_GPIO_EXTI_IRQHandler(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN); | |||||
HAL_GPIO_EXTI_IRQHandler(KEY_BUTTON_PIN); | |||||
} | |||||
/** | |||||
* @brief This function handles TIM4 interrupt request. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void TIM4_IRQHandler(void) | |||||
{ | |||||
HAL_TIM_IRQHandler(&hTimTick); | |||||
} | |||||
/** | |||||
* @brief This function handles PPP interrupt request. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
/*void PPP_IRQHandler(void) | |||||
{ | |||||
}*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file stm32f4xx_nucleo.c | |||||
* @author MCD Application Team | |||||
* @brief This file provides set of firmware functions to manage: | |||||
* - LEDs and push-button available on STM32F4XX-Nucleo Kit | |||||
* from STMicroelectronics | |||||
* - LCD, joystick and microSD available on Adafruit 1.8" TFT LCD | |||||
* shield (reference ID 802) | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "stm32f4xx_nucleo.h" | |||||
/** @defgroup BSP BSP | |||||
* @{ | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO STM32F4XX NUCLEO | |||||
* @{ | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL STM32F4XX NUCLEO LOW LEVEL | |||||
* @brief This file provides set of firmware functions to manage Leds and push-button | |||||
* available on STM32F4xx-Nucleo Kit from STMicroelectronics. | |||||
* @{ | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Private_TypesDefinitions STM32F4XX NUCLEO LOW LEVEL Private TypesDefinitions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Private_Defines STM32F4XX NUCLEO LOW LEVEL Private Defines | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief STM32F4xx NUCLEO BSP Driver version number V1.2.7 | |||||
*/ | |||||
#define __STM32F4xx_NUCLEO_BSP_VERSION_MAIN (0x01) /*!< [31:24] main version */ | |||||
#define __STM32F4xx_NUCLEO_BSP_VERSION_SUB1 (0x02) /*!< [23:16] sub1 version */ | |||||
#define __STM32F4xx_NUCLEO_BSP_VERSION_SUB2 (0x07) /*!< [15:8] sub2 version */ | |||||
#define __STM32F4xx_NUCLEO_BSP_VERSION_RC (0x00) /*!< [7:0] release candidate */ | |||||
#define __STM32F4xx_NUCLEO_BSP_VERSION ((__STM32F4xx_NUCLEO_BSP_VERSION_MAIN << 24)\ | |||||
|(__STM32F4xx_NUCLEO_BSP_VERSION_SUB1 << 16)\ | |||||
|(__STM32F4xx_NUCLEO_BSP_VERSION_SUB2 << 8 )\ | |||||
|(__STM32F4xx_NUCLEO_BSP_VERSION_RC)) | |||||
/** | |||||
* @brief LINK SD Card | |||||
*/ | |||||
#define SD_DUMMY_BYTE 0xFF | |||||
#define SD_NO_RESPONSE_EXPECTED 0x80 | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Private_Macros STM32F4XX NUCLEO LOW LEVEL Private Macros | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Private_Variables STM32F4XX NUCLEO LOW LEVEL Private Variables | |||||
* @{ | |||||
*/ | |||||
GPIO_TypeDef* GPIO_PORT[LEDn] = {LED2_GPIO_PORT}; | |||||
const uint16_t GPIO_PIN[LEDn] = {LED2_PIN}; | |||||
GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {KEY_BUTTON_GPIO_PORT}; | |||||
const uint16_t BUTTON_PIN[BUTTONn] = {KEY_BUTTON_PIN}; | |||||
const uint8_t BUTTON_IRQn[BUTTONn] = {KEY_BUTTON_EXTI_IRQn}; | |||||
/** | |||||
* @brief BUS variables | |||||
*/ | |||||
#ifdef ADAFRUIT_TFT_JOY_SD_ID802 | |||||
#ifdef HAL_SPI_MODULE_ENABLED | |||||
uint32_t SpixTimeout = NUCLEO_SPIx_TIMEOUT_MAX; /*<! Value of Timeout when SPI communication fails */ | |||||
static SPI_HandleTypeDef hnucleo_Spi; | |||||
#endif /* HAL_SPI_MODULE_ENABLED */ | |||||
#ifdef HAL_ADC_MODULE_ENABLED | |||||
static ADC_HandleTypeDef hnucleo_Adc; | |||||
/* ADC channel configuration structure declaration */ | |||||
static ADC_ChannelConfTypeDef sConfig; | |||||
#endif /* HAL_ADC_MODULE_ENABLED */ | |||||
#endif /* ADAFRUIT_TFT_JOY_SD_ID802 */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Private_FunctionPrototypes STM32F4XX NUCLEO LOW LEVEL Private FunctionPrototypes | |||||
* @{ | |||||
*/ | |||||
#ifdef ADAFRUIT_TFT_JOY_SD_ID802 | |||||
#ifdef HAL_SPI_MODULE_ENABLED | |||||
static void SPIx_Init(void); | |||||
static void SPIx_Write(uint8_t Value); | |||||
static void SPIx_WriteReadData(const uint8_t *DataIn, uint8_t *DataOut, uint16_t DataLegnth); | |||||
static void SPIx_Error(void); | |||||
static void SPIx_MspInit(SPI_HandleTypeDef *hspi); | |||||
/* SD IO functions */ | |||||
void SD_IO_Init(void); | |||||
void SD_IO_CSState(uint8_t state); | |||||
void SD_IO_WriteReadData(const uint8_t *DataIn, uint8_t *DataOut, uint16_t DataLength); | |||||
uint8_t SD_IO_WriteByte(uint8_t Data); | |||||
/* LCD IO functions */ | |||||
void LCD_IO_Init(void); | |||||
void LCD_IO_WriteData(uint8_t Data); | |||||
void LCD_IO_WriteMultipleData(uint8_t *pData, uint32_t Size); | |||||
void LCD_IO_WriteReg(uint8_t LCDReg); | |||||
void LCD_Delay(uint32_t delay); | |||||
#endif /* HAL_SPI_MODULE_ENABLED */ | |||||
#ifdef HAL_ADC_MODULE_ENABLED | |||||
static void ADCx_Init(void); | |||||
static void ADCx_DeInit(void); | |||||
static void ADCx_MspInit(ADC_HandleTypeDef *hadc); | |||||
static void ADCx_MspDeInit(ADC_HandleTypeDef *hadc); | |||||
#endif /* HAL_ADC_MODULE_ENABLED */ | |||||
#endif /* ADAFRUIT_TFT_JOY_SD_ID802 */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup STM32F4XX_NUCLEO_LOW_LEVEL_Private_Functions STM32F4XX NUCLEO LOW LEVEL Private Functions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief This method returns the STM32F4xx NUCLEO BSP Driver revision | |||||
* @retval version: 0xXYZR (8bits for each decimal, R for RC) | |||||
*/ | |||||
uint32_t BSP_GetVersion(void) | |||||
{ | |||||
return __STM32F4xx_NUCLEO_BSP_VERSION; | |||||
} | |||||
/** | |||||
* @brief Configures LED GPIO. | |||||
* @param Led: Specifies the Led to be configured. | |||||
* This parameter can be one of following parameters: | |||||
* @arg LED2 | |||||
*/ | |||||
void BSP_LED_Init(Led_TypeDef Led) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/* Enable the GPIO_LED Clock */ | |||||
LEDx_GPIO_CLK_ENABLE(Led); | |||||
/* Configure the GPIO_LED pin */ | |||||
GPIO_InitStruct.Pin = GPIO_PIN[Led]; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_FAST; | |||||
HAL_GPIO_Init(GPIO_PORT[Led], &GPIO_InitStruct); | |||||
HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_RESET); | |||||
} | |||||
/** | |||||
* @brief DeInit LEDs. | |||||
* @param Led: LED to be de-init. | |||||
* This parameter can be one of the following values: | |||||
* @arg LED2 | |||||
* @note Led DeInit does not disable the GPIO clock nor disable the Mfx | |||||
*/ | |||||
void BSP_LED_DeInit(Led_TypeDef Led) | |||||
{ | |||||
GPIO_InitTypeDef gpio_init_structure; | |||||
/* Turn off LED */ | |||||
HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_RESET); | |||||
/* DeInit the GPIO_LED pin */ | |||||
gpio_init_structure.Pin = GPIO_PIN[Led]; | |||||
HAL_GPIO_DeInit(GPIO_PORT[Led], gpio_init_structure.Pin); | |||||
} | |||||
/** | |||||
* @brief Turns selected LED On. | |||||
* @param Led: Specifies the Led to be set on. | |||||
* This parameter can be one of following parameters: | |||||
* @arg LED2 | |||||
*/ | |||||
void BSP_LED_On(Led_TypeDef Led) | |||||
{ | |||||
HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_SET); | |||||
} | |||||
/** | |||||
* @brief Turns selected LED Off. | |||||
* @param Led: Specifies the Led to be set off. | |||||
* This parameter can be one of following parameters: | |||||
* @arg LED2 | |||||
*/ | |||||
void BSP_LED_Off(Led_TypeDef Led) | |||||
{ | |||||
HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_RESET); | |||||
} | |||||
/** | |||||
* @brief Toggles the selected LED. | |||||
* @param Led: Specifies the Led to be toggled. | |||||
* This parameter can be one of following parameters: | |||||
* @arg LED2 | |||||
*/ | |||||
void BSP_LED_Toggle(Led_TypeDef Led) | |||||
{ | |||||
HAL_GPIO_TogglePin(GPIO_PORT[Led], GPIO_PIN[Led]); | |||||
} | |||||
/** | |||||
* @brief Configures Button GPIO and EXTI Line. | |||||
* @param Button: Specifies the Button to be configured. | |||||
* This parameter should be: BUTTON_KEY | |||||
* @param ButtonMode: Specifies Button mode. | |||||
* This parameter can be one of following parameters: | |||||
* @arg BUTTON_MODE_GPIO: Button will be used as simple IO | |||||
* @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt | |||||
* generation capability | |||||
*/ | |||||
void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/* Enable the BUTTON Clock */ | |||||
BUTTONx_GPIO_CLK_ENABLE(Button); | |||||
if(ButtonMode == BUTTON_MODE_GPIO) | |||||
{ | |||||
/* Configure Button pin as input */ | |||||
GPIO_InitStruct.Pin = BUTTON_PIN[Button]; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; | |||||
GPIO_InitStruct.Pull = GPIO_PULLDOWN; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_FAST; | |||||
HAL_GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStruct); | |||||
} | |||||
if(ButtonMode == BUTTON_MODE_EXTI) | |||||
{ | |||||
/* Configure Button pin as input with External interrupt */ | |||||
GPIO_InitStruct.Pin = BUTTON_PIN[Button]; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; | |||||
HAL_GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStruct); | |||||
/* Enable and set Button EXTI Interrupt to the lowest priority */ | |||||
HAL_NVIC_SetPriority((IRQn_Type)(BUTTON_IRQn[Button]), 0x0F, 0x00); | |||||
HAL_NVIC_EnableIRQ((IRQn_Type)(BUTTON_IRQn[Button])); | |||||
} | |||||
} | |||||
/** | |||||
* @brief Push Button DeInit. | |||||
* @param Button: Button to be configured | |||||
* This parameter should be: BUTTON_KEY | |||||
* @note PB DeInit does not disable the GPIO clock | |||||
*/ | |||||
void BSP_PB_DeInit(Button_TypeDef Button) | |||||
{ | |||||
GPIO_InitTypeDef gpio_init_structure; | |||||
gpio_init_structure.Pin = BUTTON_PIN[Button]; | |||||
HAL_NVIC_DisableIRQ((IRQn_Type)(BUTTON_IRQn[Button])); | |||||
HAL_GPIO_DeInit(BUTTON_PORT[Button], gpio_init_structure.Pin); | |||||
} | |||||
/** | |||||
* @brief Returns the selected Button state. | |||||
* @param Button: Specifies the Button to be checked. | |||||
* This parameter should be: BUTTON_KEY | |||||
* @retval The Button GPIO pin value. | |||||
*/ | |||||
uint32_t BSP_PB_GetState(Button_TypeDef Button) | |||||
{ | |||||
return HAL_GPIO_ReadPin(BUTTON_PORT[Button], BUTTON_PIN[Button]); | |||||
} | |||||
/****************************************************************************** | |||||
BUS OPERATIONS | |||||
*******************************************************************************/ | |||||
#ifdef ADAFRUIT_TFT_JOY_SD_ID802 | |||||
/******************************* SPI ********************************/ | |||||
#ifdef HAL_SPI_MODULE_ENABLED | |||||
/** | |||||
* @brief Initializes SPI MSP. | |||||
*/ | |||||
static void SPIx_MspInit(SPI_HandleTypeDef *hspi) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/*** Configure the GPIOs ***/ | |||||
/* Enable GPIO clock */ | |||||
NUCLEO_SPIx_SCK_GPIO_CLK_ENABLE(); | |||||
NUCLEO_SPIx_MISO_MOSI_GPIO_CLK_ENABLE(); | |||||
/* Configure SPI SCK */ | |||||
GPIO_InitStruct.Pin = NUCLEO_SPIx_SCK_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |||||
GPIO_InitStruct.Pull = GPIO_PULLUP; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; | |||||
GPIO_InitStruct.Alternate = NUCLEO_SPIx_SCK_AF; | |||||
HAL_GPIO_Init(NUCLEO_SPIx_SCK_GPIO_PORT, &GPIO_InitStruct); | |||||
/* Configure SPI MISO and MOSI */ | |||||
GPIO_InitStruct.Pin = NUCLEO_SPIx_MOSI_PIN; | |||||
GPIO_InitStruct.Alternate = NUCLEO_SPIx_MISO_MOSI_AF; | |||||
GPIO_InitStruct.Pull = GPIO_PULLDOWN; | |||||
HAL_GPIO_Init(NUCLEO_SPIx_MISO_MOSI_GPIO_PORT, &GPIO_InitStruct); | |||||
GPIO_InitStruct.Pin = NUCLEO_SPIx_MISO_PIN; | |||||
GPIO_InitStruct.Pull = GPIO_PULLDOWN; | |||||
HAL_GPIO_Init(NUCLEO_SPIx_MISO_MOSI_GPIO_PORT, &GPIO_InitStruct); | |||||
/*** Configure the SPI peripheral ***/ | |||||
/* Enable SPI clock */ | |||||
NUCLEO_SPIx_CLK_ENABLE(); | |||||
} | |||||
/** | |||||
* @brief Initializes SPI HAL. | |||||
*/ | |||||
static void SPIx_Init(void) | |||||
{ | |||||
if(HAL_SPI_GetState(&hnucleo_Spi) == HAL_SPI_STATE_RESET) | |||||
{ | |||||
/* SPI Config */ | |||||
hnucleo_Spi.Instance = NUCLEO_SPIx; | |||||
/* SPI baudrate is set to 12,5 MHz maximum (APB1/SPI_BaudRatePrescaler = 100/8 = 12,5 MHz) | |||||
to verify these constraints: | |||||
- ST7735 LCD SPI interface max baudrate is 15MHz for write and 6.66MHz for read | |||||
Since the provided driver doesn't use read capability from LCD, only constraint | |||||
on write baudrate is considered. | |||||
- SD card SPI interface max baudrate is 25MHz for write/read | |||||
- PCLK2 max frequency is 100 MHz | |||||
*/ | |||||
hnucleo_Spi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; | |||||
hnucleo_Spi.Init.Direction = SPI_DIRECTION_2LINES; | |||||
hnucleo_Spi.Init.CLKPhase = SPI_PHASE_2EDGE; | |||||
hnucleo_Spi.Init.CLKPolarity = SPI_POLARITY_HIGH; | |||||
hnucleo_Spi.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED; | |||||
hnucleo_Spi.Init.CRCPolynomial = 7; | |||||
hnucleo_Spi.Init.DataSize = SPI_DATASIZE_8BIT; | |||||
hnucleo_Spi.Init.FirstBit = SPI_FIRSTBIT_MSB; | |||||
hnucleo_Spi.Init.NSS = SPI_NSS_SOFT; | |||||
hnucleo_Spi.Init.TIMode = SPI_TIMODE_DISABLED; | |||||
hnucleo_Spi.Init.Mode = SPI_MODE_MASTER; | |||||
SPIx_MspInit(&hnucleo_Spi); | |||||
HAL_SPI_Init(&hnucleo_Spi); | |||||
} | |||||
} | |||||
/** | |||||
* @brief SPI Write a byte to device | |||||
* @param DataIn: value to be written | |||||
* @param DataOut: value to be read | |||||
* @param DataLegnth: length of data | |||||
*/ | |||||
static void SPIx_WriteReadData(const uint8_t *DataIn, uint8_t *DataOut, uint16_t DataLegnth) | |||||
{ | |||||
HAL_StatusTypeDef status = HAL_OK; | |||||
status = HAL_SPI_TransmitReceive(&hnucleo_Spi, (uint8_t*) DataIn, DataOut, DataLegnth, SpixTimeout); | |||||
/* Check the communication status */ | |||||
if(status != HAL_OK) | |||||
{ | |||||
/* Execute user timeout callback */ | |||||
SPIx_Error(); | |||||
} | |||||
} | |||||
/** | |||||
* @brief SPI Write a byte to device. | |||||
* @param Value: value to be written | |||||
*/ | |||||
static void SPIx_Write(uint8_t Value) | |||||
{ | |||||
HAL_StatusTypeDef status = HAL_OK; | |||||
uint8_t data; | |||||
status = HAL_SPI_TransmitReceive(&hnucleo_Spi, (uint8_t*) &Value, &data, 1, SpixTimeout); | |||||
/* Check the communication status */ | |||||
if(status != HAL_OK) | |||||
{ | |||||
/* Execute user timeout callback */ | |||||
SPIx_Error(); | |||||
} | |||||
} | |||||
/** | |||||
* @brief SPI error treatment function. | |||||
*/ | |||||
static void SPIx_Error (void) | |||||
{ | |||||
/* De-initialize the SPI communication BUS */ | |||||
HAL_SPI_DeInit(&hnucleo_Spi); | |||||
/* Re-Initiaize the SPI communication BUS */ | |||||
SPIx_Init(); | |||||
} | |||||
/****************************************************************************** | |||||
LINK OPERATIONS | |||||
*******************************************************************************/ | |||||
/********************************* LINK SD ************************************/ | |||||
/** | |||||
* @brief Initializes the SD Card and put it into StandBy State (Ready for | |||||
* data transfer). | |||||
*/ | |||||
void SD_IO_Init(void) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
uint8_t counter; | |||||
/* SD_CS_GPIO Periph clock enable */ | |||||
SD_CS_GPIO_CLK_ENABLE(); | |||||
/* Configure SD_CS_PIN pin: SD Card CS pin */ | |||||
GPIO_InitStruct.Pin = SD_CS_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_PULLUP; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; | |||||
HAL_GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStruct); | |||||
/*------------Put SD in SPI mode--------------*/ | |||||
/* SD SPI Config */ | |||||
SPIx_Init(); | |||||
/* SD chip select high */ | |||||
SD_CS_HIGH(); | |||||
/* Send dummy byte 0xFF, 10 times with CS high */ | |||||
/* Rise CS and MOSI for 80 clocks cycles */ | |||||
for (counter = 0; counter <= 9; counter++) | |||||
{ | |||||
/* Send dummy byte 0xFF */ | |||||
SD_IO_WriteByte(SD_DUMMY_BYTE); | |||||
} | |||||
} | |||||
/** | |||||
* @brief Set the SD_CS pin. | |||||
* @param val: pin value. | |||||
*/ | |||||
void SD_IO_CSState(uint8_t val) | |||||
{ | |||||
if(val == 1) | |||||
{ | |||||
SD_CS_HIGH(); | |||||
} | |||||
else | |||||
{ | |||||
SD_CS_LOW(); | |||||
} | |||||
} | |||||
/** | |||||
* @brief Write a byte on the SD. | |||||
* @param DataIn: value to be written | |||||
* @param DataOut: value to be read | |||||
* @param DataLength: length of data | |||||
*/ | |||||
void SD_IO_WriteReadData(const uint8_t *DataIn, uint8_t *DataOut, uint16_t DataLength) | |||||
{ | |||||
/* Send the byte */ | |||||
SPIx_WriteReadData(DataIn, DataOut, DataLength); | |||||
} | |||||
/** | |||||
* @brief Writes a byte on the SD. | |||||
* @param Data: byte to send. | |||||
*/ | |||||
uint8_t SD_IO_WriteByte(uint8_t Data) | |||||
{ | |||||
uint8_t tmp; | |||||
/* Send the byte */ | |||||
SPIx_WriteReadData(&Data,&tmp,1); | |||||
return tmp; | |||||
} | |||||
/********************************* LINK LCD ***********************************/ | |||||
/** | |||||
* @brief Initializes the LCD. | |||||
*/ | |||||
void LCD_IO_Init(void) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/* LCD_CS_GPIO and LCD_DC_GPIO Periph clock enable */ | |||||
LCD_CS_GPIO_CLK_ENABLE(); | |||||
LCD_DC_GPIO_CLK_ENABLE(); | |||||
/* Configure LCD_CS_PIN pin: LCD Card CS pin */ | |||||
GPIO_InitStruct.Pin = LCD_CS_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; | |||||
HAL_GPIO_Init(LCD_CS_GPIO_PORT, &GPIO_InitStruct); | |||||
/* Configure LCD_DC_PIN pin: LCD Card DC pin */ | |||||
GPIO_InitStruct.Pin = LCD_DC_PIN; | |||||
HAL_GPIO_Init(LCD_DC_GPIO_PORT, &GPIO_InitStruct); | |||||
/* LCD chip select high */ | |||||
LCD_CS_HIGH(); | |||||
/* LCD SPI Config */ | |||||
SPIx_Init(); | |||||
} | |||||
/** | |||||
* @brief Writes command to select the LCD register. | |||||
* @param LCDReg: Address of the selected register. | |||||
*/ | |||||
void LCD_IO_WriteReg(uint8_t LCDReg) | |||||
{ | |||||
/* Reset LCD control line CS */ | |||||
LCD_CS_LOW(); | |||||
/* Set LCD data/command line DC to Low */ | |||||
LCD_DC_LOW(); | |||||
/* Send Command */ | |||||
SPIx_Write(LCDReg); | |||||
/* Deselect : Chip Select high */ | |||||
LCD_CS_HIGH(); | |||||
} | |||||
/** | |||||
* @brief Writes data to select the LCD register. | |||||
* This function must be used after st7735_WriteReg() function | |||||
* @param Data: data to write to the selected register. | |||||
*/ | |||||
void LCD_IO_WriteData(uint8_t Data) | |||||
{ | |||||
/* Reset LCD control line CS */ | |||||
LCD_CS_LOW(); | |||||
/* Set LCD data/command line DC to High */ | |||||
LCD_DC_HIGH(); | |||||
/* Send Data */ | |||||
SPIx_Write(Data); | |||||
/* Deselect : Chip Select high */ | |||||
LCD_CS_HIGH(); | |||||
} | |||||
/** | |||||
* @brief Writes register value. | |||||
* @param pData: Pointer on the register value | |||||
* @param Size: Size of byte to transmit to the register | |||||
*/ | |||||
void LCD_IO_WriteMultipleData(uint8_t *pData, uint32_t Size) | |||||
{ | |||||
uint32_t counter = 0; | |||||
__IO uint32_t data = 0; | |||||
/* Reset LCD control line CS */ | |||||
LCD_CS_LOW(); | |||||
/* Set LCD data/command line DC to High */ | |||||
LCD_DC_HIGH(); | |||||
if (Size == 1) | |||||
{ | |||||
/* Only 1 byte to be sent to LCD - general interface can be used */ | |||||
/* Send Data */ | |||||
SPIx_Write(*pData); | |||||
} | |||||
else | |||||
{ | |||||
/* Several data should be sent in a raw */ | |||||
/* Direct SPI accesses for optimization */ | |||||
for (counter = Size; counter != 0; counter--) | |||||
{ | |||||
while(((hnucleo_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE) | |||||
{ | |||||
} | |||||
/* Need to invert bytes for LCD*/ | |||||
*((__IO uint8_t*)&hnucleo_Spi.Instance->DR) = *(pData+1); | |||||
while(((hnucleo_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE) | |||||
{ | |||||
} | |||||
*((__IO uint8_t*)&hnucleo_Spi.Instance->DR) = *pData; | |||||
counter--; | |||||
pData += 2; | |||||
} | |||||
/* Wait until the bus is ready before releasing Chip select */ | |||||
while(((hnucleo_Spi.Instance->SR) & SPI_FLAG_BSY) != RESET) | |||||
{ | |||||
} | |||||
} | |||||
/* Empty the Rx fifo */ | |||||
data = *(&hnucleo_Spi.Instance->DR); | |||||
UNUSED(data); | |||||
/* Deselect : Chip Select high */ | |||||
LCD_CS_HIGH(); | |||||
} | |||||
/** | |||||
* @brief Wait for loop in ms. | |||||
* @param Delay in ms. | |||||
*/ | |||||
void LCD_Delay(uint32_t Delay) | |||||
{ | |||||
HAL_Delay(Delay); | |||||
} | |||||
#endif /* HAL_SPI_MODULE_ENABLED */ | |||||
/******************************* ADC driver ********************************/ | |||||
#ifdef HAL_ADC_MODULE_ENABLED | |||||
/** | |||||
* @brief Initializes ADC MSP. | |||||
*/ | |||||
static void ADCx_MspInit(ADC_HandleTypeDef *hadc) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/*** Configure the GPIOs ***/ | |||||
/* Enable GPIO clock */ | |||||
NUCLEO_ADCx_GPIO_CLK_ENABLE(); | |||||
/* Configure the selected ADC Channel as analog input */ | |||||
GPIO_InitStruct.Pin = NUCLEO_ADCx_GPIO_PIN ; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
HAL_GPIO_Init(NUCLEO_ADCx_GPIO_PORT, &GPIO_InitStruct); | |||||
/*** Configure the ADC peripheral ***/ | |||||
/* Enable ADC clock */ | |||||
NUCLEO_ADCx_CLK_ENABLE(); | |||||
} | |||||
/** | |||||
* @brief DeInitializes ADC MSP. | |||||
* @note ADC DeInit does not disable the GPIO clock | |||||
*/ | |||||
static void ADCx_MspDeInit(ADC_HandleTypeDef *hadc) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/*** DeInit the ADC peripheral ***/ | |||||
/* Disable ADC clock */ | |||||
NUCLEO_ADCx_CLK_DISABLE(); | |||||
/* Configure the selected ADC Channel as analog input */ | |||||
GPIO_InitStruct.Pin = NUCLEO_ADCx_GPIO_PIN ; | |||||
HAL_GPIO_DeInit(NUCLEO_ADCx_GPIO_PORT, GPIO_InitStruct.Pin); | |||||
/* Disable GPIO clock has to be done by the application*/ | |||||
/* NUCLEO_ADCx_GPIO_CLK_DISABLE(); */ | |||||
} | |||||
/** | |||||
* @brief Initializes ADC HAL. | |||||
*/ | |||||
static void ADCx_Init(void) | |||||
{ | |||||
if(HAL_ADC_GetState(&hnucleo_Adc) == HAL_ADC_STATE_RESET) | |||||
{ | |||||
/* ADC Config */ | |||||
hnucleo_Adc.Instance = NUCLEO_ADCx; | |||||
hnucleo_Adc.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV4; /* (must not exceed 36MHz) */ | |||||
hnucleo_Adc.Init.Resolution = ADC_RESOLUTION12b; | |||||
hnucleo_Adc.Init.DataAlign = ADC_DATAALIGN_RIGHT; | |||||
hnucleo_Adc.Init.ContinuousConvMode = DISABLE; | |||||
hnucleo_Adc.Init.DiscontinuousConvMode = DISABLE; | |||||
hnucleo_Adc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; | |||||
hnucleo_Adc.Init.EOCSelection = EOC_SINGLE_CONV; | |||||
hnucleo_Adc.Init.NbrOfConversion = 1; | |||||
hnucleo_Adc.Init.DMAContinuousRequests = DISABLE; | |||||
ADCx_MspInit(&hnucleo_Adc); | |||||
HAL_ADC_Init(&hnucleo_Adc); | |||||
} | |||||
} | |||||
/** | |||||
* @brief Initializes ADC HAL. | |||||
*/ | |||||
static void ADCx_DeInit(void) | |||||
{ | |||||
hnucleo_Adc.Instance = NUCLEO_ADCx; | |||||
HAL_ADC_DeInit(&hnucleo_Adc); | |||||
ADCx_MspDeInit(&hnucleo_Adc); | |||||
} | |||||
/******************************* LINK JOYSTICK ********************************/ | |||||
/** | |||||
* @brief Configures joystick available on adafruit 1.8" TFT shield | |||||
* managed through ADC to detect motion. | |||||
* @retval Joystickstatus (0=> success, 1=> fail) | |||||
*/ | |||||
uint8_t BSP_JOY_Init(void) | |||||
{ | |||||
uint8_t status = HAL_ERROR; | |||||
ADCx_Init(); | |||||
/* Select the ADC Channel to be converted */ | |||||
sConfig.Channel = NUCLEO_ADCx_CHANNEL; | |||||
sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; | |||||
sConfig.Rank = 1; | |||||
status = HAL_ADC_ConfigChannel(&hnucleo_Adc, &sConfig); | |||||
/* Return Joystick initialization status */ | |||||
return status; | |||||
} | |||||
/** | |||||
* @brief DeInit joystick GPIOs. | |||||
* @note JOY DeInit does not disable the Mfx, just set the Mfx pins in Off modee. | |||||
*/ | |||||
void BSP_JOY_DeInit(void) | |||||
{ | |||||
ADCx_DeInit(); | |||||
} | |||||
/** | |||||
* @brief Returns the Joystick key pressed. | |||||
* @note To know which Joystick key is pressed we need to detect the voltage | |||||
* level on each key output | |||||
* - None : 3.3 V / 4095 | |||||
* - SEL : 1.055 V / 1308 | |||||
* - DOWN : 0.71 V / 88 | |||||
* - LEFT : 3.0 V / 3720 | |||||
* - RIGHT : 0.595 V / 737 | |||||
* - UP : 1.65 V / 2046 | |||||
* @retval JOYState_TypeDef: Code of the Joystick key pressed. | |||||
*/ | |||||
JOYState_TypeDef BSP_JOY_GetState(void) | |||||
{ | |||||
JOYState_TypeDef state; | |||||
uint16_t keyconvertedvalue = 0; | |||||
/* Start the conversion process */ | |||||
HAL_ADC_Start(&hnucleo_Adc); | |||||
/* Wait for the end of conversion */ | |||||
HAL_ADC_PollForConversion(&hnucleo_Adc, 10); | |||||
/* Check if the continuous conversion of regular channel is finished */ | |||||
if(((HAL_ADC_GetState(&hnucleo_Adc) & HAL_ADC_STATE_EOC_REG) == HAL_ADC_STATE_EOC_REG)) | |||||
{ | |||||
/* Get the converted value of regular channel */ | |||||
keyconvertedvalue = HAL_ADC_GetValue(&hnucleo_Adc); | |||||
} | |||||
if((keyconvertedvalue > 2010) && (keyconvertedvalue < 2090)) | |||||
{ | |||||
state = JOY_UP; | |||||
} | |||||
else if((keyconvertedvalue > 680) && (keyconvertedvalue < 780)) | |||||
{ | |||||
state = JOY_RIGHT; | |||||
} | |||||
else if((keyconvertedvalue > 1270) && (keyconvertedvalue < 1350)) | |||||
{ | |||||
state = JOY_SEL; | |||||
} | |||||
else if((keyconvertedvalue > 50) && (keyconvertedvalue < 130)) | |||||
{ | |||||
state = JOY_DOWN; | |||||
} | |||||
else if((keyconvertedvalue > 3680) && (keyconvertedvalue < 3760)) | |||||
{ | |||||
state = JOY_LEFT; | |||||
} | |||||
else | |||||
{ | |||||
state = JOY_NONE; | |||||
} | |||||
/* Loop while a key is pressed */ | |||||
if(state != JOY_NONE) | |||||
{ | |||||
keyconvertedvalue = HAL_ADC_GetValue(&hnucleo_Adc); | |||||
} | |||||
/* Return the code of the Joystick key pressed */ | |||||
return state; | |||||
} | |||||
#endif /* HAL_ADC_MODULE_ENABLED */ | |||||
#endif /* ADAFRUIT_TFT_JOY_SD_ID802 */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file syscalls.c | |||||
* @author Auto-generated by STM32CubeIDE | |||||
* @brief STM32CubeIDE Minimal System calls file | |||||
* | |||||
* For more information about which c-functions | |||||
* need which of these lowlevel functions | |||||
* please consult the Newlib libc-manual | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© Copyright (c) 2020 STMicroelectronics. | |||||
* All rights reserved.</center></h2> | |||||
* | |||||
* This software component is licensed by ST under BSD 3-Clause license, | |||||
* the "License"; You may not use this file except in compliance with the | |||||
* License. You may obtain a copy of the License at: | |||||
* opensource.org/licenses/BSD-3-Clause | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes */ | |||||
#include <sys/stat.h> | |||||
#include <stdlib.h> | |||||
#include <errno.h> | |||||
#include <stdio.h> | |||||
#include <signal.h> | |||||
#include <time.h> | |||||
#include <sys/time.h> | |||||
#include <sys/times.h> | |||||
/* Variables */ | |||||
//#undef errno | |||||
extern int errno; | |||||
extern int __io_putchar(int ch) __attribute__((weak)); | |||||
extern int __io_getchar(void) __attribute__((weak)); | |||||
register char * stack_ptr asm("sp"); | |||||
char *__env[1] = { 0 }; | |||||
char **environ = __env; | |||||
/* Functions */ | |||||
void initialise_monitor_handles() | |||||
{ | |||||
} | |||||
int _getpid(void) | |||||
{ | |||||
return 1; | |||||
} | |||||
int _kill(int pid, int sig) | |||||
{ | |||||
errno = EINVAL; | |||||
return -1; | |||||
} | |||||
void _exit (int status) | |||||
{ | |||||
_kill(status, -1); | |||||
while (1) {} /* Make sure we hang here */ | |||||
} | |||||
__attribute__((weak)) int _read(int file, char *ptr, int len) | |||||
{ | |||||
int DataIdx; | |||||
for (DataIdx = 0; DataIdx < len; DataIdx++) | |||||
{ | |||||
*ptr++ = __io_getchar(); | |||||
} | |||||
return len; | |||||
} | |||||
__attribute__((weak)) int _write(int file, char *ptr, int len) | |||||
{ | |||||
int DataIdx; | |||||
for (DataIdx = 0; DataIdx < len; DataIdx++) | |||||
{ | |||||
__io_putchar(*ptr++); | |||||
} | |||||
return len; | |||||
} | |||||
int _close(int file) | |||||
{ | |||||
return -1; | |||||
} | |||||
int _fstat(int file, struct stat *st) | |||||
{ | |||||
st->st_mode = S_IFCHR; | |||||
return 0; | |||||
} | |||||
int _isatty(int file) | |||||
{ | |||||
return 1; | |||||
} | |||||
int _lseek(int file, int ptr, int dir) | |||||
{ | |||||
return 0; | |||||
} | |||||
int _open(char *path, int flags, ...) | |||||
{ | |||||
/* Pretend like we always fail */ | |||||
return -1; | |||||
} | |||||
int _wait(int *status) | |||||
{ | |||||
errno = ECHILD; | |||||
return -1; | |||||
} | |||||
int _unlink(char *name) | |||||
{ | |||||
errno = ENOENT; | |||||
return -1; | |||||
} | |||||
int _times(struct tms *buf) | |||||
{ | |||||
return -1; | |||||
} | |||||
int _stat(char *file, struct stat *st) | |||||
{ | |||||
st->st_mode = S_IFCHR; | |||||
return 0; | |||||
} | |||||
int _link(char *old, char *new) | |||||
{ | |||||
errno = EMLINK; | |||||
return -1; | |||||
} | |||||
int _fork(void) | |||||
{ | |||||
errno = EAGAIN; | |||||
return -1; | |||||
} | |||||
int _execve(char *name, char **argv, char **env) | |||||
{ | |||||
errno = ENOMEM; | |||||
return -1; | |||||
} |
/** | |||||
****************************************************************************** | |||||
* @file sysmem.c | |||||
* @author Generated by STM32CubeIDE | |||||
* @brief STM32CubeIDE System Memory calls file | |||||
* | |||||
* For more information about which C functions | |||||
* need which of these lowlevel functions | |||||
* please consult the newlib libc manual | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© Copyright (c) 2020 STMicroelectronics. | |||||
* All rights reserved.</center></h2> | |||||
* | |||||
* This software component is licensed by ST under BSD 3-Clause license, | |||||
* the "License"; You may not use this file except in compliance with the | |||||
* License. You may obtain a copy of the License at: | |||||
* opensource.org/licenses/BSD-3-Clause | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes */ | |||||
#include <errno.h> | |||||
#include <stdint.h> | |||||
/** | |||||
* Pointer to the current high watermark of the heap usage | |||||
*/ | |||||
static uint8_t *__sbrk_heap_end = NULL; | |||||
/** | |||||
* @brief _sbrk() allocates memory to the newlib heap and is used by malloc | |||||
* and others from the C library | |||||
* | |||||
* @verbatim | |||||
* ############################################################################ | |||||
* # .data # .bss # newlib heap # MSP stack # | |||||
* # # # # Reserved by _Min_Stack_Size # | |||||
* ############################################################################ | |||||
* ^-- RAM start ^-- _end _estack, RAM end --^ | |||||
* @endverbatim | |||||
* | |||||
* This implementation starts allocating at the '_end' linker symbol | |||||
* The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack | |||||
* The implementation considers '_estack' linker symbol to be RAM end | |||||
* NOTE: If the MSP stack, at any point during execution, grows larger than the | |||||
* reserved size, please increase the '_Min_Stack_Size'. | |||||
* | |||||
* @param incr Memory size | |||||
* @return Pointer to allocated memory | |||||
*/ | |||||
void *_sbrk(ptrdiff_t incr) | |||||
{ | |||||
extern uint8_t _end; /* Symbol defined in the linker script */ | |||||
extern uint8_t _estack; /* Symbol defined in the linker script */ | |||||
extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */ | |||||
const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size; | |||||
const uint8_t *max_heap = (uint8_t *)stack_limit; | |||||
uint8_t *prev_heap_end; | |||||
/* Initialize heap end at first call */ | |||||
if (NULL == __sbrk_heap_end) | |||||
{ | |||||
__sbrk_heap_end = &_end; | |||||
} | |||||
/* Protect heap from growing into the reserved MSP stack */ | |||||
if (__sbrk_heap_end + incr > max_heap) | |||||
{ | |||||
errno = ENOMEM; | |||||
return (void *)-1; | |||||
} | |||||
prev_heap_end = __sbrk_heap_end; | |||||
__sbrk_heap_end += incr; | |||||
return (void *)prev_heap_end; | |||||
} |
/** | |||||
****************************************************************************** | |||||
* @file Multi/Examples/MotionControl/IHM05A1_ExampleFor1Motor/Src/system_stm32f4xx.c | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. | |||||
* | |||||
* This file provides two functions and one global variable to be called from | |||||
* user application: | |||||
* - SystemInit(): This function is called at startup just after reset and | |||||
* before branch to main program. This call is made inside | |||||
* the "startup_stm32f4xx.s" file. | |||||
* | |||||
* - SystemCoreClock variable: Contains the core clock (HCLK), it can be used | |||||
* by the user application to setup the SysTick | |||||
* timer or configure other parameters. | |||||
* | |||||
* - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must | |||||
* be called whenever the core clock is changed | |||||
* during program execution. | |||||
* | |||||
* | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT 2017 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/** @addtogroup CMSIS | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup stm32f4xx_system | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Includes | |||||
* @{ | |||||
*/ | |||||
#include "stm32f4xx.h" | |||||
#if !defined (HSE_VALUE) | |||||
#define HSE_VALUE ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz */ | |||||
#endif /* HSE_VALUE */ | |||||
#if !defined (HSI_VALUE) | |||||
#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ | |||||
#endif /* HSI_VALUE */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_TypesDefinitions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Defines | |||||
* @{ | |||||
*/ | |||||
/************************* Miscellaneous Configuration ************************/ | |||||
/*!< Uncomment the following line if you need to relocate your vector Table in | |||||
Internal SRAM. */ | |||||
/* #define VECT_TAB_SRAM */ | |||||
#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. | |||||
This value must be a multiple of 0x200. */ | |||||
/******************************************************************************/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Macros | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Variables | |||||
* @{ | |||||
*/ | |||||
/* This variable is updated in three ways: | |||||
1) by calling CMSIS function SystemCoreClockUpdate() | |||||
2) by calling HAL API function HAL_RCC_GetHCLKFreq() | |||||
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency | |||||
Note: If you use this function to configure the system clock; then there | |||||
is no need to call the 2 first functions listed above, since SystemCoreClock | |||||
variable is updated automatically. | |||||
*/ | |||||
uint32_t SystemCoreClock = 16000000; | |||||
const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; | |||||
const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4}; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_FunctionPrototypes | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Functions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief Setup the microcontroller system | |||||
* Initialize the FPU setting, vector table location and External memory | |||||
* configuration. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemInit(void) | |||||
{ | |||||
/* FPU settings ------------------------------------------------------------*/ | |||||
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) | |||||
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ | |||||
#endif | |||||
/* Reset the RCC clock configuration to the default reset state ------------*/ | |||||
/* Set HSION bit */ | |||||
RCC->CR |= (uint32_t)0x00000001; | |||||
/* Reset CFGR register */ | |||||
RCC->CFGR = 0x00000000; | |||||
/* Reset HSEON, CSSON and PLLON bits */ | |||||
RCC->CR &= (uint32_t)0xFEF6FFFF; | |||||
/* Reset PLLCFGR register */ | |||||
RCC->PLLCFGR = 0x24003010; | |||||
/* Reset HSEBYP bit */ | |||||
RCC->CR &= (uint32_t)0xFFFBFFFF; | |||||
/* Disable all interrupts */ | |||||
RCC->CIR = 0x00000000; | |||||
/* Configure the Vector Table location add offset address ------------------*/ | |||||
#ifdef VECT_TAB_SRAM | |||||
SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ | |||||
#else | |||||
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ | |||||
#endif | |||||
} | |||||
/** | |||||
* @brief Update SystemCoreClock variable according to Clock Register Values. | |||||
* The SystemCoreClock variable contains the core clock (HCLK), it can | |||||
* be used by the user application to setup the SysTick timer or configure | |||||
* other parameters. | |||||
* | |||||
* @note Each time the core clock (HCLK) changes, this function must be called | |||||
* to update SystemCoreClock variable value. Otherwise, any configuration | |||||
* based on this variable will be incorrect. | |||||
* | |||||
* @note - The system frequency computed by this function is not the real | |||||
* frequency in the chip. It is calculated based on the predefined | |||||
* constant and the selected clock source: | |||||
* | |||||
* - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) | |||||
* | |||||
* - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) | |||||
* | |||||
* - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) | |||||
* or HSI_VALUE(*) multiplied/divided by the PLL factors. | |||||
* | |||||
* (*) HSI_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value | |||||
* 16 MHz) but the real value may vary depending on the variations | |||||
* in voltage and temperature. | |||||
* | |||||
* (**) HSE_VALUE is a constant defined in stm32f4xx_hal_conf.h file (its value | |||||
* depends on the application requirements), user has to ensure that HSE_VALUE | |||||
* is same as the real frequency of the crystal used. Otherwise, this function | |||||
* may have wrong result. | |||||
* | |||||
* - The result of this function could be not correct when using fractional | |||||
* value for HSE crystal. | |||||
* | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemCoreClockUpdate(void) | |||||
{ | |||||
uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; | |||||
/* Get SYSCLK source -------------------------------------------------------*/ | |||||
tmp = RCC->CFGR & RCC_CFGR_SWS; | |||||
switch (tmp) | |||||
{ | |||||
case 0x00: /* HSI used as system clock source */ | |||||
SystemCoreClock = HSI_VALUE; | |||||
break; | |||||
case 0x04: /* HSE used as system clock source */ | |||||
SystemCoreClock = HSE_VALUE; | |||||
break; | |||||
case 0x08: /* PLL used as system clock source */ | |||||
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N | |||||
SYSCLK = PLL_VCO / PLL_P | |||||
*/ | |||||
pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; | |||||
pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; | |||||
if (pllsource != 0) | |||||
{ | |||||
/* HSE used as PLL clock source */ | |||||
pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); | |||||
} | |||||
else | |||||
{ | |||||
/* HSI used as PLL clock source */ | |||||
pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); | |||||
} | |||||
pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; | |||||
SystemCoreClock = pllvco/pllp; | |||||
break; | |||||
default: | |||||
SystemCoreClock = HSI_VALUE; | |||||
break; | |||||
} | |||||
/* Compute HCLK frequency --------------------------------------------------*/ | |||||
/* Get HCLK prescaler */ | |||||
tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; | |||||
/* HCLK frequency */ | |||||
SystemCoreClock >>= tmp; | |||||
} | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file x_nucleo_ihm05a1_stm32f4xx.c | |||||
* @author IPC Rennes | |||||
* @version V1.5.0 | |||||
* @date June 1st, 2018 | |||||
* @brief BSP driver for x-nucleo-ihm05a1 Nucleo extension board | |||||
* (based on L6208) | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2018 STMicroelectronics</center></h2> | |||||
* | |||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/* Includes ------------------------------------------------------------------*/ | |||||
#include "x_nucleo_ihm05a1_stm32f4xx.h" | |||||
#include "motor.h" | |||||
/** @addtogroup BSP | |||||
* @{ | |||||
*/ | |||||
/** @defgroup X_NUCLEO_IHM05A1_STM32F4XX NUCLEO IHM05A1 STM32F4XX | |||||
* @{ | |||||
*/ | |||||
/* Private constants ---------------------------------------------------------*/ | |||||
/** @defgroup IHM05A1_Private_Constants IHM05A1 Private Constants | |||||
* @{ | |||||
*/ | |||||
/// Tick frequency (Hz) | |||||
#define TIMER_TICK_FREQUENCY (10000) | |||||
/// Tick Timer Prescaler | |||||
#define TIMER_TICK_PRESCALER (64) | |||||
/// MCU wait time after power bridges are enabled | |||||
#define BRIDGE_TURN_ON_DELAY (10) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/* Private variables ---------------------------------------------------------*/ | |||||
/** @defgroup IHM05A1_Board_Private_Variables IHM05A1 Board Private Variables | |||||
* @{ | |||||
*/ | |||||
/// L6208 timer handler for VREFA PWM | |||||
TIM_HandleTypeDef hTimVrefaPwm; | |||||
/// L6208 timer handler for VREFB PWM | |||||
TIM_HandleTypeDef hTimVrefbPwm; | |||||
/// L6208 timer handler for the tick | |||||
TIM_HandleTypeDef hTimTick; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup IHM05A1_Board_Private_Function_Prototypes IHM05A1 Board Private Function Prototypes | |||||
* @{ | |||||
*/ | |||||
void L6208_Board_CLOCK_PIN_Reset(void); //Reset the clock pin | |||||
void L6208_Board_CLOCK_PIN_Set(void); //Set the clock pin | |||||
void L6208_Board_CONTROL_PIN_Reset(void); //Reset the control pin | |||||
void L6208_Board_CONTROL_PIN_Set(void); //Set the control pin | |||||
void L6208_Board_Delay(uint32_t delay); //Delay of the requested number of milliseconds | |||||
void L6208_Board_DIR_PIN_Reset(void); //Reset the dir pin | |||||
void L6208_Board_DIR_PIN_Set(void); //Set the dir pin | |||||
void L6208_Board_Disable(void); //Disable the power bridges (leave the output bridges HiZ) | |||||
void L6208_Board_DisableIrq(void); //Disable Irq | |||||
void L6208_Board_Enable(void); //Enable the power bridges (leave the output bridges HiZ) | |||||
void L6208_Board_EnableIrq(void); //Disable Irq | |||||
uint32_t L6208_Board_FLAG_PIN_GetState(void); //Returns the EN pin state | |||||
void L6208_Board_GpioInit(void); //Initialise GPIOs used for L6208 | |||||
void L6208_Board_HALF_FULL_PIN_Reset(void); //Reset the half full pin | |||||
void L6208_Board_HALF_FULL_PIN_Set(void); //Set the half full pin | |||||
bool L6208_Board_VrefPwmInit(uint8_t bridgeId, uint32_t pwmFreq); //Initialize the VREFA or VREFB PWM | |||||
void L6208_Board_ReleaseReset(void); //Release the reset pin | |||||
void L6208_Board_Reset(void); //Reset the reset pin | |||||
uint32_t L6208_Board_TickGetFreq(void); //Get the tick frequency in Hz | |||||
void L6208_Board_TickInit(void); //Initialize the tick | |||||
void L6208_Board_TickStart(void); //Start the timer for the tick by using the set tick frequency | |||||
void L6208_Board_TickStop(void); //Stop the timer for the tick | |||||
bool L6208_Board_VrefPwmFreqCheck(uint32_t newFreq); //Check that the new VREFA and VREFB PWM frequency is nor too low nor too high | |||||
uint32_t L6208_Board_VrefPwmGetPeriod(void); //Get current VREF PWM period duration | |||||
bool L6208_Board_VrefPwmSetDutyCycle(uint8_t bridgeId,\ | |||||
uint16_t value,\ | |||||
bool valueIsPwmDutyCycle); //Set duty cycle of VREFA or VREFB PWM | |||||
bool L6208_Board_VrefPwmStart(uint8_t bridgeId,\ | |||||
uint32_t pwmFreq); //Start the timer for the VREFA or VREFB PWM | |||||
bool L6208_Board_VrefPwmStop(uint8_t bridgeId); //Stop the timer for the VREFA or VREFB PWM | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @defgroup IHM05A1_Board_Private_Functions IHM05A1 Board Private Functions | |||||
* @{ | |||||
*/ | |||||
/******************************************************//** | |||||
* @brief This function provides an accurate delay in milliseconds | |||||
* @param[in] delay time length in milliseconds | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_Delay(uint32_t delay) | |||||
{ | |||||
HAL_Delay(delay); | |||||
} | |||||
/******************************************************//** | |||||
* @brief This function disable the interruptions | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_DisableIrq(void) | |||||
{ | |||||
//__disable_irq(); | |||||
} | |||||
/******************************************************//** | |||||
* @brief This function enable the interruptions | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_EnableIrq(void) | |||||
{ | |||||
//__enable_irq(); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Start the L6208 library | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_GpioInit(void) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/* GPIO Ports Clock Enable */ | |||||
__GPIOC_CLK_ENABLE(); | |||||
__GPIOA_CLK_ENABLE(); | |||||
__GPIOB_CLK_ENABLE(); | |||||
/* Configure L6208 - EN pin -------------------------------*/ | |||||
/* When this pin is set low, it is configured just before as */ | |||||
/* GPIO_MODE_OUTPUT_PP with GPIO_NOPULL */ | |||||
/* When this pin is set high, it is just after configured for OCD and OVT */ | |||||
/* as GPIO_MODE_IT_FALLING with GPIO_PULLUP */ | |||||
L6208_Board_Disable(); | |||||
/* Set Priority of External Line Interrupt used for the OCD OVT interrupt*/ | |||||
HAL_NVIC_SetPriority(FLAG_EXTI_LINE_IRQn, BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PRIORITY, 0); | |||||
/* Enable the External Line Interrupt used for the OCD OVT interrupt*/ | |||||
HAL_NVIC_EnableIRQ(FLAG_EXTI_LINE_IRQn); | |||||
/* Configure L6208 - CW/CCW pin ----------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_DIR_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_DIR_PORT, &GPIO_InitStruct); | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_DIR_PORT, BSP_MOTOR_CONTROL_BOARD_DIR_PIN, GPIO_PIN_RESET); | |||||
/* Configure L6208 - HALF/FULL pin -------------------------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PORT, &GPIO_InitStruct); | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PORT, BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PIN, GPIO_PIN_RESET); | |||||
/* Configure L6208 - CONTROL pin -------------------------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_CONTROL_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_CONTROL_PORT, &GPIO_InitStruct); | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_CONTROL_PORT, BSP_MOTOR_CONTROL_BOARD_CONTROL_PIN, GPIO_PIN_RESET); | |||||
/* Configure L6208 - CLOCK pin -------------------------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_CLOCK_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_CLOCK_PORT, &GPIO_InitStruct); | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_CLOCK_PORT, BSP_MOTOR_CONTROL_BOARD_CLOCK_PIN, GPIO_PIN_RESET); | |||||
/* Configure L6208 - STBY/RESET pin -------------------------------------*/ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_RESET_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_RESET_PORT, &GPIO_InitStruct); | |||||
L6208_Board_ReleaseReset(); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Initialize the tick | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_TickInit(void) | |||||
{ | |||||
static TIM_OC_InitTypeDef sConfigOC; | |||||
static TIM_MasterConfigTypeDef sMasterConfig; | |||||
static TIM_ClockConfigTypeDef sClockSourceConfig; | |||||
hTimTick.Instance = BSP_MOTOR_CONTROL_BOARD_TIMER_TICK; | |||||
hTimTick.Init.Period = (HAL_RCC_GetSysClockFreq() / (TIMER_TICK_PRESCALER * TIMER_TICK_FREQUENCY)) - 1; | |||||
hTimTick.Init.Prescaler = TIMER_TICK_PRESCALER -1; | |||||
hTimTick.Init.ClockDivision = 0; | |||||
hTimTick.Init.CounterMode = TIM_COUNTERMODE_UP; | |||||
HAL_TIM_PWM_Init(&hTimTick); | |||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; | |||||
HAL_TIM_ConfigClockSource(&hTimTick, &sClockSourceConfig); | |||||
sConfigOC.OCMode = TIM_OCMODE_PWM1; | |||||
sConfigOC.Pulse = 0; | |||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; | |||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; | |||||
HAL_TIM_PWM_ConfigChannel(&hTimTick, &sConfigOC, BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_TICK); | |||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; | |||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; | |||||
HAL_TIMEx_MasterConfigSynchronization(&hTimTick, &sMasterConfig); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Start the timer for the tick by using the set tick frequency | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_TickStart(void) | |||||
{ | |||||
uint32_t period = (HAL_RCC_GetSysClockFreq() / (TIMER_TICK_PRESCALER * TIMER_TICK_FREQUENCY)) - 1; | |||||
__HAL_TIM_SetAutoreload(&hTimTick, period); | |||||
__HAL_TIM_SetCompare(&hTimTick, BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_TICK, period >> 1); | |||||
HAL_TIM_PWM_Start_IT(&hTimTick, BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_TICK); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Stop the timer for the tick | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_TickStop(void) | |||||
{ | |||||
HAL_TIM_PWM_Stop_IT(&hTimTick, BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_TICK); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Get the tick timer frequency in Hz | |||||
* @retval The tick timer frequency in Hz | |||||
**********************************************************/ | |||||
uint32_t L6208_Board_TickGetFreq(void) | |||||
{ | |||||
return TIMER_TICK_FREQUENCY; | |||||
} | |||||
/******************************************************//** | |||||
* @brief Check that the frequency for the VREFA and VREFB PWM | |||||
* is high enough | |||||
* @param[in] newFreq frequency in Hz of the PWM used to generate | |||||
* the reference voltage for the bridge | |||||
* @retval FALSE if frequency is too low, else TRUE | |||||
**********************************************************/ | |||||
bool L6208_Board_VrefPwmFreqCheck(uint32_t newFreq) | |||||
{ | |||||
if (newFreq<=(HAL_RCC_GetSysClockFreq()>>16)) | |||||
{ | |||||
return FALSE; | |||||
} | |||||
else | |||||
{ | |||||
return TRUE; | |||||
} | |||||
} | |||||
/******************************************************//** | |||||
* @brief Initialize the VREFA or VREFB PWM | |||||
* @param[in] bridgeId | |||||
* 0 for BRIDGE_A | |||||
* 1 for BRIDGE_B | |||||
* @param[in] pwmFreq frequency in Hz of the PWM used to generate the reference | |||||
* voltage for the bridge | |||||
* @retval FALSE if wrong timer handle is used, else TRUE | |||||
* @note None | |||||
**********************************************************/ | |||||
bool L6208_Board_VrefPwmInit(uint8_t bridgeId, uint32_t pwmFreq) | |||||
{ | |||||
static TIM_OC_InitTypeDef sConfigOC; | |||||
static TIM_MasterConfigTypeDef sMasterConfig; | |||||
static TIM_ClockConfigTypeDef sClockSourceConfig; | |||||
TIM_HandleTypeDef *pHTim = NULL; | |||||
uint32_t channel; | |||||
if (bridgeId == 0) | |||||
{ | |||||
pHTim = &hTimVrefaPwm; | |||||
pHTim->Instance = BSP_MOTOR_CONTROL_BOARD_TIMER_VREFA_PWM; | |||||
pHTim->Init.Prescaler = 0; | |||||
pHTim->Init.Period = (HAL_RCC_GetSysClockFreq() / pwmFreq) - 1; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFA_PWM; | |||||
} | |||||
else if (bridgeId == 1) | |||||
{ | |||||
pHTim = &hTimVrefbPwm; | |||||
pHTim->Instance = BSP_MOTOR_CONTROL_BOARD_TIMER_VREFB_PWM; | |||||
pHTim->Init.Prescaler = 0; | |||||
pHTim->Init.Period = (HAL_RCC_GetSysClockFreq() / pwmFreq) - 1; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFB_PWM; | |||||
} | |||||
else | |||||
{ | |||||
return FALSE; | |||||
} | |||||
pHTim->Init.CounterMode = TIM_COUNTERMODE_UP; | |||||
pHTim->Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; | |||||
HAL_TIM_PWM_Init(pHTim); | |||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; | |||||
HAL_TIM_ConfigClockSource(pHTim, &sClockSourceConfig); | |||||
sConfigOC.OCMode = TIM_OCMODE_PWM1; | |||||
sConfigOC.Pulse = 0; | |||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; | |||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; | |||||
HAL_TIM_PWM_ConfigChannel(pHTim, &sConfigOC, channel); | |||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; | |||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; | |||||
HAL_TIMEx_MasterConfigSynchronization(pHTim, &sMasterConfig); | |||||
return TRUE; | |||||
} | |||||
/******************************************************//** | |||||
* @brief Set duty cycle of VREFA or VREFB PWM | |||||
* @param[in] bridgeId | |||||
* 0 for BRIDGE_A | |||||
* 1 for BRIDGE_B | |||||
* @param[in] value pulse length or PWM duty cycle: 0 - 100 % | |||||
* @param[in] valueIsPwmDutyCycle must be TRUE if value is a PWM duty cycle | |||||
* @retval FALSE if wrong timer handle is used, else TRUE | |||||
**********************************************************/ | |||||
bool L6208_Board_VrefPwmSetDutyCycle(uint8_t bridgeId, uint16_t value, bool valueIsPwmDutyCycle) | |||||
{ | |||||
TIM_HandleTypeDef *pHTim = NULL; | |||||
uint32_t channel; | |||||
if (bridgeId == 0) | |||||
{ | |||||
pHTim = &hTimVrefaPwm; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFA_PWM; | |||||
} | |||||
else if (bridgeId == 1) | |||||
{ | |||||
pHTim = &hTimVrefbPwm; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFB_PWM; | |||||
} | |||||
else | |||||
{ | |||||
return 0; | |||||
} | |||||
// PWM or OC Channel pulse length | |||||
if(valueIsPwmDutyCycle) | |||||
{ | |||||
if (value > 100) value = 100; | |||||
value = (uint16_t)(((uint32_t)pHTim->Init.Period * (uint32_t)value) / 100); | |||||
} | |||||
__HAL_TIM_SetCompare(pHTim, channel, value); | |||||
return 1; | |||||
} | |||||
/******************************************************//** | |||||
* @brief Start the timer for the VREFA or VREFB PWM | |||||
* @param[in] bridgeId | |||||
* 0 for BRIDGE_A | |||||
* 1 for BRIDGE_B | |||||
* @param[in] pwmFreq frequency in Hz of the PWM used to generate the reference | |||||
* voltage for the bridge | |||||
* @retval FALSE if wrong timer handle is used, else TRUE | |||||
**********************************************************/ | |||||
bool L6208_Board_VrefPwmStart(uint8_t bridgeId, uint32_t pwmFreq) | |||||
{ | |||||
TIM_HandleTypeDef *pHTim = NULL; | |||||
uint32_t period; | |||||
uint32_t channel; | |||||
if (bridgeId == 0) | |||||
{ | |||||
pHTim = &hTimVrefaPwm; | |||||
period = (HAL_RCC_GetSysClockFreq() / pwmFreq) - 1; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFA_PWM; | |||||
} | |||||
else if (bridgeId == 1) | |||||
{ | |||||
pHTim = &hTimVrefbPwm; | |||||
period = (HAL_RCC_GetSysClockFreq() / pwmFreq) - 1; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFB_PWM; | |||||
} | |||||
else | |||||
{ | |||||
return FALSE; | |||||
} | |||||
__HAL_TIM_SetAutoreload(pHTim, period); | |||||
HAL_TIM_PWM_Start(pHTim, channel); | |||||
return TRUE; | |||||
} | |||||
/******************************************************//** | |||||
* @brief Stop the VREFA or VREFB PWM | |||||
* @param[in] bridgeId | |||||
* 0 for BRIDGE_A | |||||
* 1 for BRIDGE_B | |||||
* @retval None | |||||
**********************************************************/ | |||||
bool L6208_Board_VrefPwmStop(uint8_t bridgeId) | |||||
{ | |||||
TIM_HandleTypeDef *pHTim = NULL; | |||||
uint32_t channel; | |||||
if (bridgeId == 0) | |||||
{ | |||||
pHTim = &hTimVrefaPwm; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFA_PWM; | |||||
} | |||||
else if (bridgeId == 1) | |||||
{ | |||||
pHTim = &hTimVrefbPwm; | |||||
channel = BSP_MOTOR_CONTROL_BOARD_CHAN_TIMER_VREFB_PWM; | |||||
} | |||||
else | |||||
{ | |||||
return FALSE; | |||||
} | |||||
HAL_TIM_PWM_Stop(pHTim, channel); | |||||
return TRUE; | |||||
} | |||||
/******************************************************//** | |||||
* @brief Get current VREF PWM period duration | |||||
* @retval the current VREF PWM period duration | |||||
* @note hTimVrefbPwm.Init.Period is the same as hTimVrefaPwm.Init.Period | |||||
**********************************************************/ | |||||
uint32_t L6208_Board_VrefPwmGetPeriod(void) | |||||
{ | |||||
return ((uint32_t)hTimVrefaPwm.Init.Period); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Releases the L6208 reset (pin set to High) of all devices | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_ReleaseReset(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_RESET_PORT, BSP_MOTOR_CONTROL_BOARD_RESET_PIN, GPIO_PIN_SET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Resets the L6208 (reset pin set to low) of all devices | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_Reset(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_RESET_PORT, BSP_MOTOR_CONTROL_BOARD_RESET_PIN, GPIO_PIN_RESET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Set the L6208 CONTROL pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_CONTROL_PIN_Set(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_CONTROL_PORT, BSP_MOTOR_CONTROL_BOARD_CONTROL_PIN, GPIO_PIN_SET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Reset the L6208 CONTROL pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_CONTROL_PIN_Reset(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_CONTROL_PORT, BSP_MOTOR_CONTROL_BOARD_CONTROL_PIN, GPIO_PIN_RESET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Set the L6208 CLOCK pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_CLOCK_PIN_Set(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_CLOCK_PORT, BSP_MOTOR_CONTROL_BOARD_CLOCK_PIN, GPIO_PIN_SET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Reset the L6208 CLOCK pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_CLOCK_PIN_Reset(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_CLOCK_PORT, BSP_MOTOR_CONTROL_BOARD_CLOCK_PIN, GPIO_PIN_RESET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Set the L6208 HALF_FULL pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_HALF_FULL_PIN_Set(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PORT, BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PIN, GPIO_PIN_SET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Reset the L6208 HALF_FULL pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_HALF_FULL_PIN_Reset(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PORT, BSP_MOTOR_CONTROL_BOARD_HALF_FULL_PIN, GPIO_PIN_RESET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Set the L6208 DIR pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_DIR_PIN_Set(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_DIR_PORT, BSP_MOTOR_CONTROL_BOARD_DIR_PIN, GPIO_PIN_SET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Reset the L6208 DIR pin | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_DIR_PIN_Reset(void) | |||||
{ | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_DIR_PORT, BSP_MOTOR_CONTROL_BOARD_DIR_PIN, GPIO_PIN_RESET); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Returns the FLAG pin state. | |||||
* @retval The FLAG pin value. | |||||
**********************************************************/ | |||||
uint32_t L6208_Board_FLAG_PIN_GetState(void) | |||||
{ | |||||
return HAL_GPIO_ReadPin(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PORT, BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Disable the power bridges (leave the output bridges HiZ) | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_Disable(void) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
/* Configure the GPIO connected to EN pin as an output */ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; | |||||
GPIO_InitStruct.Pull = GPIO_NOPULL; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PORT, &GPIO_InitStruct); | |||||
__disable_irq(); | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PORT, BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN, GPIO_PIN_RESET); | |||||
__HAL_GPIO_EXTI_CLEAR_IT(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN); | |||||
__enable_irq(); | |||||
} | |||||
/******************************************************//** | |||||
* @brief Enable the power bridges (leave the output bridges HiZ) | |||||
* @retval None | |||||
**********************************************************/ | |||||
void L6208_Board_Enable(void) | |||||
{ | |||||
GPIO_InitTypeDef GPIO_InitStruct; | |||||
HAL_GPIO_WritePin(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PORT, BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN, GPIO_PIN_SET); | |||||
HAL_Delay(BRIDGE_TURN_ON_DELAY); | |||||
/* Configure the GPIO connected to EN pin to take interrupt */ | |||||
GPIO_InitStruct.Pin = BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN; | |||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; | |||||
GPIO_InitStruct.Pull = GPIO_PULLUP; | |||||
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; | |||||
HAL_GPIO_Init(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PORT, &GPIO_InitStruct); | |||||
__HAL_GPIO_EXTI_CLEAR_IT(BSP_MOTOR_CONTROL_BOARD_EN_AND_FLAG_PIN); | |||||
HAL_NVIC_ClearPendingIRQ(FLAG_EXTI_LINE_IRQn); | |||||
HAL_NVIC_EnableIRQ(FLAG_EXTI_LINE_IRQn); | |||||
} | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
/** | |||||
****************************************************************************** | |||||
* @file startup_stm32f401xe.s | |||||
* @author MCD Application Team | |||||
* @brief STM32F401xExx Devices vector table for GCC based toolchains. | |||||
* This module performs: | |||||
* - Set the initial SP | |||||
* - Set the initial PC == Reset_Handler, | |||||
* - Set the vector table entries with the exceptions ISR address | |||||
* - Branches to main in the C library (which eventually | |||||
* calls main()). | |||||
* After Reset the Cortex-M4 processor is in Thread mode, | |||||
* priority is Privileged, and the Stack is set to Main. | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
* All rights reserved.</center></h2> | |||||
* | |||||
* This software component is licensed by ST under BSD 3-Clause license, | |||||
* the "License"; You may not use this file except in compliance with the | |||||
* License. You may obtain a copy of the License at: | |||||
* opensource.org/licenses/BSD-3-Clause | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
.syntax unified | |||||
.cpu cortex-m4 | |||||
.fpu softvfp | |||||
.thumb | |||||
.global g_pfnVectors | |||||
.global Default_Handler | |||||
/* start address for the initialization values of the .data section. | |||||
defined in linker script */ | |||||
.word _sidata | |||||
/* start address for the .data section. defined in linker script */ | |||||
.word _sdata | |||||
/* end address for the .data section. defined in linker script */ | |||||
.word _edata | |||||
/* start address for the .bss section. defined in linker script */ | |||||
.word _sbss | |||||
/* end address for the .bss section. defined in linker script */ | |||||
.word _ebss | |||||
/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ | |||||
/** | |||||
* @brief This is the code that gets called when the processor first | |||||
* starts execution following a reset event. Only the absolutely | |||||
* necessary set is performed, after which the application | |||||
* supplied main() routine is called. | |||||
* @param None | |||||
* @retval : None | |||||
*/ | |||||
.section .text.Reset_Handler | |||||
.weak Reset_Handler | |||||
.type Reset_Handler, %function | |||||
Reset_Handler: | |||||
ldr sp, =_estack /* set stack pointer */ | |||||
/* Copy the data segment initializers from flash to SRAM */ | |||||
movs r1, #0 | |||||
b LoopCopyDataInit | |||||
CopyDataInit: | |||||
ldr r3, =_sidata | |||||
ldr r3, [r3, r1] | |||||
str r3, [r0, r1] | |||||
adds r1, r1, #4 | |||||
LoopCopyDataInit: | |||||
ldr r0, =_sdata | |||||
ldr r3, =_edata | |||||
adds r2, r0, r1 | |||||
cmp r2, r3 | |||||
bcc CopyDataInit | |||||
ldr r2, =_sbss | |||||
b LoopFillZerobss | |||||
/* Zero fill the bss segment. */ | |||||
FillZerobss: | |||||
movs r3, #0 | |||||
str r3, [r2], #4 | |||||
LoopFillZerobss: | |||||
ldr r3, = _ebss | |||||
cmp r2, r3 | |||||
bcc FillZerobss | |||||
/* Call the clock system intitialization function.*/ | |||||
bl SystemInit | |||||
/* Call static constructors */ | |||||
bl __libc_init_array | |||||
/* Call the application's entry point.*/ | |||||
bl main | |||||
bx lr | |||||
.size Reset_Handler, .-Reset_Handler | |||||
/** | |||||
* @brief This is the code that gets called when the processor receives an | |||||
* unexpected interrupt. This simply enters an infinite loop, preserving | |||||
* the system state for examination by a debugger. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
.section .text.Default_Handler,"ax",%progbits | |||||
Default_Handler: | |||||
Infinite_Loop: | |||||
b Infinite_Loop | |||||
.size Default_Handler, .-Default_Handler | |||||
/****************************************************************************** | |||||
* | |||||
* The minimal vector table for a Cortex M3. Note that the proper constructs | |||||
* must be placed on this to ensure that it ends up at physical address | |||||
* 0x0000.0000. | |||||
* | |||||
*******************************************************************************/ | |||||
.section .isr_vector,"a",%progbits | |||||
.type g_pfnVectors, %object | |||||
.size g_pfnVectors, .-g_pfnVectors | |||||
g_pfnVectors: | |||||
.word _estack | |||||
.word Reset_Handler | |||||
.word NMI_Handler | |||||
.word HardFault_Handler | |||||
.word MemManage_Handler | |||||
.word BusFault_Handler | |||||
.word UsageFault_Handler | |||||
.word 0 | |||||
.word 0 | |||||
.word 0 | |||||
.word 0 | |||||
.word SVC_Handler | |||||
.word DebugMon_Handler | |||||
.word 0 | |||||
.word PendSV_Handler | |||||
.word SysTick_Handler | |||||
/* External Interrupts */ | |||||
.word WWDG_IRQHandler /* Window WatchDog */ | |||||
.word PVD_IRQHandler /* PVD through EXTI Line detection */ | |||||
.word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ | |||||
.word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ | |||||
.word FLASH_IRQHandler /* FLASH */ | |||||
.word RCC_IRQHandler /* RCC */ | |||||
.word EXTI0_IRQHandler /* EXTI Line0 */ | |||||
.word EXTI1_IRQHandler /* EXTI Line1 */ | |||||
.word EXTI2_IRQHandler /* EXTI Line2 */ | |||||
.word EXTI3_IRQHandler /* EXTI Line3 */ | |||||
.word EXTI4_IRQHandler /* EXTI Line4 */ | |||||
.word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ | |||||
.word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ | |||||
.word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ | |||||
.word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ | |||||
.word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ | |||||
.word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ | |||||
.word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ | |||||
.word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word EXTI9_5_IRQHandler /* External Line[9:5]s */ | |||||
.word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ | |||||
.word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ | |||||
.word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ | |||||
.word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ | |||||
.word TIM2_IRQHandler /* TIM2 */ | |||||
.word TIM3_IRQHandler /* TIM3 */ | |||||
.word TIM4_IRQHandler /* TIM4 */ | |||||
.word I2C1_EV_IRQHandler /* I2C1 Event */ | |||||
.word I2C1_ER_IRQHandler /* I2C1 Error */ | |||||
.word I2C2_EV_IRQHandler /* I2C2 Event */ | |||||
.word I2C2_ER_IRQHandler /* I2C2 Error */ | |||||
.word SPI1_IRQHandler /* SPI1 */ | |||||
.word SPI2_IRQHandler /* SPI2 */ | |||||
.word USART1_IRQHandler /* USART1 */ | |||||
.word USART2_IRQHandler /* USART2 */ | |||||
.word 0 /* Reserved */ | |||||
.word EXTI15_10_IRQHandler /* External Line[15:10]s */ | |||||
.word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ | |||||
.word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ | |||||
.word 0 /* Reserved */ | |||||
.word SDIO_IRQHandler /* SDIO */ | |||||
.word TIM5_IRQHandler /* TIM5 */ | |||||
.word SPI3_IRQHandler /* SPI3 */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ | |||||
.word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ | |||||
.word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ | |||||
.word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ | |||||
.word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word OTG_FS_IRQHandler /* USB OTG FS */ | |||||
.word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ | |||||
.word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ | |||||
.word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ | |||||
.word USART6_IRQHandler /* USART6 */ | |||||
.word I2C3_EV_IRQHandler /* I2C3 event */ | |||||
.word I2C3_ER_IRQHandler /* I2C3 error */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word FPU_IRQHandler /* FPU */ | |||||
.word 0 /* Reserved */ | |||||
.word 0 /* Reserved */ | |||||
.word SPI4_IRQHandler /* SPI4 */ | |||||
/******************************************************************************* | |||||
* | |||||
* Provide weak aliases for each Exception handler to the Default_Handler. | |||||
* As they are weak aliases, any function with the same name will override | |||||
* this definition. | |||||
* | |||||
*******************************************************************************/ | |||||
.weak NMI_Handler | |||||
.thumb_set NMI_Handler,Default_Handler | |||||
.weak HardFault_Handler | |||||
.thumb_set HardFault_Handler,Default_Handler | |||||
.weak MemManage_Handler | |||||
.thumb_set MemManage_Handler,Default_Handler | |||||
.weak BusFault_Handler | |||||
.thumb_set BusFault_Handler,Default_Handler | |||||
.weak UsageFault_Handler | |||||
.thumb_set UsageFault_Handler,Default_Handler | |||||
.weak SVC_Handler | |||||
.thumb_set SVC_Handler,Default_Handler | |||||
.weak DebugMon_Handler | |||||
.thumb_set DebugMon_Handler,Default_Handler | |||||
.weak PendSV_Handler | |||||
.thumb_set PendSV_Handler,Default_Handler | |||||
.weak SysTick_Handler | |||||
.thumb_set SysTick_Handler,Default_Handler | |||||
.weak WWDG_IRQHandler | |||||
.thumb_set WWDG_IRQHandler,Default_Handler | |||||
.weak PVD_IRQHandler | |||||
.thumb_set PVD_IRQHandler,Default_Handler | |||||
.weak TAMP_STAMP_IRQHandler | |||||
.thumb_set TAMP_STAMP_IRQHandler,Default_Handler | |||||
.weak RTC_WKUP_IRQHandler | |||||
.thumb_set RTC_WKUP_IRQHandler,Default_Handler | |||||
.weak FLASH_IRQHandler | |||||
.thumb_set FLASH_IRQHandler,Default_Handler | |||||
.weak RCC_IRQHandler | |||||
.thumb_set RCC_IRQHandler,Default_Handler | |||||
.weak EXTI0_IRQHandler | |||||
.thumb_set EXTI0_IRQHandler,Default_Handler | |||||
.weak EXTI1_IRQHandler | |||||
.thumb_set EXTI1_IRQHandler,Default_Handler | |||||
.weak EXTI2_IRQHandler | |||||
.thumb_set EXTI2_IRQHandler,Default_Handler | |||||
.weak EXTI3_IRQHandler | |||||
.thumb_set EXTI3_IRQHandler,Default_Handler | |||||
.weak EXTI4_IRQHandler | |||||
.thumb_set EXTI4_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream0_IRQHandler | |||||
.thumb_set DMA1_Stream0_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream1_IRQHandler | |||||
.thumb_set DMA1_Stream1_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream2_IRQHandler | |||||
.thumb_set DMA1_Stream2_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream3_IRQHandler | |||||
.thumb_set DMA1_Stream3_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream4_IRQHandler | |||||
.thumb_set DMA1_Stream4_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream5_IRQHandler | |||||
.thumb_set DMA1_Stream5_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream6_IRQHandler | |||||
.thumb_set DMA1_Stream6_IRQHandler,Default_Handler | |||||
.weak ADC_IRQHandler | |||||
.thumb_set ADC_IRQHandler,Default_Handler | |||||
.weak EXTI9_5_IRQHandler | |||||
.thumb_set EXTI9_5_IRQHandler,Default_Handler | |||||
.weak TIM1_BRK_TIM9_IRQHandler | |||||
.thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler | |||||
.weak TIM1_UP_TIM10_IRQHandler | |||||
.thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler | |||||
.weak TIM1_TRG_COM_TIM11_IRQHandler | |||||
.thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler | |||||
.weak TIM1_CC_IRQHandler | |||||
.thumb_set TIM1_CC_IRQHandler,Default_Handler | |||||
.weak TIM2_IRQHandler | |||||
.thumb_set TIM2_IRQHandler,Default_Handler | |||||
.weak TIM3_IRQHandler | |||||
.thumb_set TIM3_IRQHandler,Default_Handler | |||||
.weak TIM4_IRQHandler | |||||
.thumb_set TIM4_IRQHandler,Default_Handler | |||||
.weak I2C1_EV_IRQHandler | |||||
.thumb_set I2C1_EV_IRQHandler,Default_Handler | |||||
.weak I2C1_ER_IRQHandler | |||||
.thumb_set I2C1_ER_IRQHandler,Default_Handler | |||||
.weak I2C2_EV_IRQHandler | |||||
.thumb_set I2C2_EV_IRQHandler,Default_Handler | |||||
.weak I2C2_ER_IRQHandler | |||||
.thumb_set I2C2_ER_IRQHandler,Default_Handler | |||||
.weak SPI1_IRQHandler | |||||
.thumb_set SPI1_IRQHandler,Default_Handler | |||||
.weak SPI2_IRQHandler | |||||
.thumb_set SPI2_IRQHandler,Default_Handler | |||||
.weak USART1_IRQHandler | |||||
.thumb_set USART1_IRQHandler,Default_Handler | |||||
.weak USART2_IRQHandler | |||||
.thumb_set USART2_IRQHandler,Default_Handler | |||||
.weak EXTI15_10_IRQHandler | |||||
.thumb_set EXTI15_10_IRQHandler,Default_Handler | |||||
.weak RTC_Alarm_IRQHandler | |||||
.thumb_set RTC_Alarm_IRQHandler,Default_Handler | |||||
.weak OTG_FS_WKUP_IRQHandler | |||||
.thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler | |||||
.weak DMA1_Stream7_IRQHandler | |||||
.thumb_set DMA1_Stream7_IRQHandler,Default_Handler | |||||
.weak SDIO_IRQHandler | |||||
.thumb_set SDIO_IRQHandler,Default_Handler | |||||
.weak TIM5_IRQHandler | |||||
.thumb_set TIM5_IRQHandler,Default_Handler | |||||
.weak SPI3_IRQHandler | |||||
.thumb_set SPI3_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream0_IRQHandler | |||||
.thumb_set DMA2_Stream0_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream1_IRQHandler | |||||
.thumb_set DMA2_Stream1_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream2_IRQHandler | |||||
.thumb_set DMA2_Stream2_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream3_IRQHandler | |||||
.thumb_set DMA2_Stream3_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream4_IRQHandler | |||||
.thumb_set DMA2_Stream4_IRQHandler,Default_Handler | |||||
.weak OTG_FS_IRQHandler | |||||
.thumb_set OTG_FS_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream5_IRQHandler | |||||
.thumb_set DMA2_Stream5_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream6_IRQHandler | |||||
.thumb_set DMA2_Stream6_IRQHandler,Default_Handler | |||||
.weak DMA2_Stream7_IRQHandler | |||||
.thumb_set DMA2_Stream7_IRQHandler,Default_Handler | |||||
.weak USART6_IRQHandler | |||||
.thumb_set USART6_IRQHandler,Default_Handler | |||||
.weak I2C3_EV_IRQHandler | |||||
.thumb_set I2C3_EV_IRQHandler,Default_Handler | |||||
.weak I2C3_ER_IRQHandler | |||||
.thumb_set I2C3_ER_IRQHandler,Default_Handler | |||||
.weak FPU_IRQHandler | |||||
.thumb_set FPU_IRQHandler,Default_Handler | |||||
.weak SPI4_IRQHandler | |||||
.thumb_set SPI4_IRQHandler,Default_Handler | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ | |||||
Core/Src/clock_f4.o: ../Core/Src/clock_f4.c ../Core/Inc/main.h \ | |||||
../Core/Inc/x_nucleo_ihmxx.h ../Core/Inc/motor.h ../Core/Inc/l6208.h \ | |||||
../Core/Inc/l6208_target_config.h \ | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h ../Core/Inc/stm32f4xx_nucleo.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Core/Inc/main.h: | |||||
../Core/Inc/x_nucleo_ihmxx.h: | |||||
../Core/Inc/motor.h: | |||||
../Core/Inc/l6208.h: | |||||
../Core/Inc/l6208_target_config.h: | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h: | |||||
../Core/Inc/stm32f4xx_nucleo.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
clock_f4.c:65:6:SystemClock_Config 88 static |
Core/Src/l6208.o: ../Core/Src/l6208.c ../Core/Inc/l6208.h \ | |||||
../Core/Inc/l6208_target_config.h ../Core/Inc/motor.h | |||||
../Core/Inc/l6208.h: | |||||
../Core/Inc/l6208_target_config.h: | |||||
../Core/Inc/motor.h: |
l6208.c:259:13:L6208_GetMotorHandle 4 static | |||||
l6208.c:269:6:L6208_Init 16 static | |||||
l6208.c:308:10:L6208_ReadId 4 static | |||||
l6208.c:321:6:L6208_AttachErrorHandler 16 static | |||||
l6208.c:335:6:L6208_AttachFlagInterrupt 16 static | |||||
l6208.c:344:9:L6208_CheckStatusHw 8 static | |||||
l6208.c:361:6:L6208_Disable 16 static | |||||
l6208.c:372:6:L6208_ErrorHandler 16 static | |||||
l6208.c:392:6:L6208_Enable 16 static | |||||
l6208.c:402:6:L6208_FlagInterruptHandler 8 static | |||||
l6208.c:424:10:L6208_GetAcceleration 16 static | |||||
l6208.c:437:10:L6208_GetCurrentSpeed 40 static | |||||
l6208.c:458:18:L6208_GetDecayMode 16 static | |||||
l6208.c:472:10:L6208_GetDeceleration 16 static | |||||
l6208.c:482:12:L6208_GetDirection 16 static | |||||
l6208.c:498:10:L6208_GetFwVersion 4 static | |||||
l6208.c:508:9:L6208_GetMark 16 static | |||||
l6208.c:521:10:L6208_GetMaxSpeed 16 static | |||||
l6208.c:534:10:L6208_GetMinSpeed 16 static | |||||
l6208.c:544:14:L6208_GetMotionState 16 static | |||||
l6208.c:555:9:L6208_GetPosition 16 static | |||||
l6208.c:565:17:L6208_GetStepMode 16 static | |||||
l6208.c:575:17:L6208_GetStopMode 16 static | |||||
l6208.c:594:9:L6208_GetTorque 24 static | |||||
l6208.c:625:6:L6208_GoHome 16 static | |||||
l6208.c:635:6:L6208_GoMark 16 static | |||||
l6208.c:653:6:L6208_GoTo 24 static | |||||
l6208.c:702:6:L6208_GoToDir 24 static | |||||
l6208.c:741:6:L6208_HardHiZ 16 static | |||||
l6208.c:765:6:L6208_HardStop 16 static | |||||
l6208.c:793:6:L6208_Move 16 static | |||||
l6208.c:821:6:L6208_ReleaseReset 16 static | |||||
l6208.c:831:6:L6208_Reset 16 static | |||||
l6208.c:841:6:L6208_ResetDevice 8 static | |||||
l6208.c:856:6:L6208_Run 16 static | |||||
l6208.c:880:6:L6208_SetAcceleration 24 static | |||||
l6208.c:901:6:L6208_SetDecayMode 16 static | |||||
l6208.c:924:6:L6208_SetDeceleration 24 static | |||||
l6208.c:948:6:L6208_SetDirection 16 static | |||||
l6208.c:1012:6:L6208_SetHome 16 static | |||||
l6208.c:1030:6:L6208_SetMark 16 static | |||||
l6208.c:1044:6:L6208_SetMaxSpeed 16 static | |||||
l6208.c:1066:6:L6208_SetMinSpeed 16 static | |||||
l6208.c:1085:6:L6208_SetNbDevices 16 static | |||||
l6208.c:1104:6:L6208_SetStepMode 16 static | |||||
l6208.c:1180:6:L6208_SetStopMode 16 static | |||||
l6208.c:1200:6:L6208_SetTorque 16 static | |||||
l6208.c:1236:6:L6208_SoftStop 16 static | |||||
l6208.c:1248:6:L6208_TickHandler 24 static | |||||
l6208.c:1544:10:L6208_VrefPwmGetFreq 16 static | |||||
l6208.c:1556:6:L6208_VrefPwmSetFreq 16 static | |||||
l6208.c:1579:6:L6208_WaitWhileActive 16 static | |||||
l6208.c:1597:13:L6208_ClearSysFlag 16 static | |||||
l6208.c:1616:10:L6208_ComputeNbAccOrDecSteps 24 static | |||||
l6208.c:1666:10:L6208_ConvertAcceDecelRateValue 40 static | |||||
l6208.c:1696:6:L6208_DoAccel 16 static | |||||
l6208.c:1717:6:L6208_DoDecel 16 static | |||||
l6208.c:1739:6:L6208_DoRun 4 static | |||||
l6208.c:1748:9:L6208_GetMicrostepSample2Scale 4 static | |||||
l6208.c:1778:6:L6208_Indexmodeinit 24 static | |||||
l6208.c:1822:13:L6208_IsSysFlag 16 static | |||||
l6208.c:1831:6:L6208_ResetSteps 4 static | |||||
l6208.c:1849:10:L6208_ScaleWaveformSample 24 static | |||||
l6208.c:1868:6:L6208_ScaleWaveformTable 16 static | |||||
l6208.c:1885:6:L6208_SetDeviceParamsToGivenValues 16 static | |||||
l6208.c:1915:6:L6208_SetDeviceParamsToPredefinedValues 8 static | |||||
l6208.c:1944:6:L6208_SetMicrostepSample2Scale 16 static | |||||
l6208.c:1959:6:L6208_SetMicrostepSample2Update 16 static | |||||
l6208.c:1974:6:L6208_SetMotionState 16 static | |||||
l6208.c:1987:6:L6208_SetSpeed 40 static | |||||
l6208.c:2017:13:L6208_SetSysFlag 16 static | |||||
l6208.c:2026:6:L6208_StartMovement 16 static | |||||
l6208.c:2095:6:L6208_UpdateScanWaveformTable 16 static | |||||
l6208.c:2113:6:L6208_UstepWaveformHandling 8 static | |||||
l6208.c:2134:6:L6208_VectorCalc 16 static |
Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \ | |||||
../Core/Inc/x_nucleo_ihmxx.h ../Core/Inc/motor.h ../Core/Inc/l6208.h \ | |||||
../Core/Inc/l6208_target_config.h \ | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h ../Core/Inc/stm32f4xx_nucleo.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Core/Inc/main.h: | |||||
../Core/Inc/x_nucleo_ihmxx.h: | |||||
../Core/Inc/motor.h: | |||||
../Core/Inc/l6208.h: | |||||
../Core/Inc/l6208_target_config.h: | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h: | |||||
../Core/Inc/stm32f4xx_nucleo.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
main.c:79:5:main 24 static | |||||
main.c:469:6:MyFlagInterruptHandler 8 static | |||||
main.c:480:6:MyErrorHandler 16 static | |||||
main.c:497:6:ButtonHandler 8 static |
Core/Src/stm32f4xx_hal_msp.o: ../Core/Src/stm32f4xx_hal_msp.c \ | |||||
../Core/Inc/main.h ../Core/Inc/x_nucleo_ihmxx.h ../Core/Inc/motor.h \ | |||||
../Core/Inc/l6208.h ../Core/Inc/l6208_target_config.h \ | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h ../Core/Inc/stm32f4xx_nucleo.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Core/Inc/main.h: | |||||
../Core/Inc/x_nucleo_ihmxx.h: | |||||
../Core/Inc/motor.h: | |||||
../Core/Inc/l6208.h: | |||||
../Core/Inc/l6208_target_config.h: | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h: | |||||
../Core/Inc/stm32f4xx_nucleo.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
stm32f4xx_hal_msp.c:67:6:HAL_TIM_PWM_MspInit 48 static | |||||
stm32f4xx_hal_msp.c:114:6:HAL_TIM_PWM_MspDeInit 16 static | |||||
stm32f4xx_hal_msp.c:142:6:HAL_TIM_PWM_PulseFinishedCallback 16 static | |||||
stm32f4xx_hal_msp.c:158:6:HAL_GPIO_EXTI_Callback 16 static |
Core/Src/stm32f4xx_it.o: ../Core/Src/stm32f4xx_it.c \ | |||||
../Core/Inc/stm32f4xx_it.h ../Core/Inc/main.h \ | |||||
../Core/Inc/x_nucleo_ihmxx.h ../Core/Inc/motor.h ../Core/Inc/l6208.h \ | |||||
../Core/Inc/l6208_target_config.h \ | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h ../Core/Inc/stm32f4xx_nucleo.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Core/Inc/stm32f4xx_it.h: | |||||
../Core/Inc/main.h: | |||||
../Core/Inc/x_nucleo_ihmxx.h: | |||||
../Core/Inc/motor.h: | |||||
../Core/Inc/l6208.h: | |||||
../Core/Inc/l6208_target_config.h: | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h: | |||||
../Core/Inc/stm32f4xx_nucleo.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
stm32f4xx_it.c:67:6:NMI_Handler 4 static | |||||
stm32f4xx_it.c:76:6:HardFault_Handler 4 static | |||||
stm32f4xx_it.c:89:6:MemManage_Handler 4 static | |||||
stm32f4xx_it.c:102:6:BusFault_Handler 4 static | |||||
stm32f4xx_it.c:115:6:UsageFault_Handler 4 static | |||||
stm32f4xx_it.c:128:6:SVC_Handler 4 static | |||||
stm32f4xx_it.c:137:6:DebugMon_Handler 4 static | |||||
stm32f4xx_it.c:146:6:PendSV_Handler 4 static | |||||
stm32f4xx_it.c:155:6:SysTick_Handler 8 static | |||||
stm32f4xx_it.c:172:6:EXTI15_10_IRQHandler 8 static | |||||
stm32f4xx_it.c:183:6:TIM4_IRQHandler 8 static |
Core/Src/stm32f4xx_nucleo.o: ../Core/Src/stm32f4xx_nucleo.c \ | |||||
../Core/Inc/stm32f4xx_nucleo.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Core/Inc/stm32f4xx_nucleo.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
stm32f4xx_nucleo.c:177:10:BSP_GetVersion 4 static | |||||
stm32f4xx_nucleo.c:188:6:BSP_LED_Init 40 static | |||||
stm32f4xx_nucleo.c:213:6:BSP_LED_DeInit 40 static | |||||
stm32f4xx_nucleo.c:230:6:BSP_LED_On 16 static | |||||
stm32f4xx_nucleo.c:241:6:BSP_LED_Off 16 static | |||||
stm32f4xx_nucleo.c:252:6:BSP_LED_Toggle 16 static | |||||
stm32f4xx_nucleo.c:267:6:BSP_PB_Init 40 static | |||||
stm32f4xx_nucleo.c:304:6:BSP_PB_DeInit 40 static | |||||
stm32f4xx_nucleo.c:319:10:BSP_PB_GetState 16 static | |||||
stm32f4xx_nucleo.c:335:13:SPIx_MspInit 48 static | |||||
stm32f4xx_nucleo.c:370:13:SPIx_Init 8 static | |||||
stm32f4xx_nucleo.c:407:13:SPIx_WriteReadData 40 static | |||||
stm32f4xx_nucleo.c:425:13:SPIx_Write 32 static | |||||
stm32f4xx_nucleo.c:443:13:SPIx_Error 8 static | |||||
stm32f4xx_nucleo.c:461:6:SD_IO_Init 40 static | |||||
stm32f4xx_nucleo.c:496:6:SD_IO_CSState 16 static | |||||
stm32f4xx_nucleo.c:514:6:SD_IO_WriteReadData 24 static | |||||
stm32f4xx_nucleo.c:524:9:SD_IO_WriteByte 24 static | |||||
stm32f4xx_nucleo.c:536:6:LCD_IO_Init 40 static | |||||
stm32f4xx_nucleo.c:566:6:LCD_IO_WriteReg 16 static | |||||
stm32f4xx_nucleo.c:586:6:LCD_IO_WriteData 16 static | |||||
stm32f4xx_nucleo.c:606:6:LCD_IO_WriteMultipleData 24 static | |||||
stm32f4xx_nucleo.c:661:6:LCD_Delay 16 static | |||||
stm32f4xx_nucleo.c:673:13:ADCx_MspInit 48 static | |||||
stm32f4xx_nucleo.c:696:13:ADCx_MspDeInit 40 static | |||||
stm32f4xx_nucleo.c:715:13:ADCx_Init 8 static | |||||
stm32f4xx_nucleo.c:739:13:ADCx_DeInit 8 static | |||||
stm32f4xx_nucleo.c:754:9:BSP_JOY_Init 16 static | |||||
stm32f4xx_nucleo.c:774:6:BSP_JOY_DeInit 8 static | |||||
stm32f4xx_nucleo.c:791:18:BSP_JOY_GetState 16 static |
################################################################################ | |||||
# Automatically-generated file. Do not edit! | |||||
################################################################################ | |||||
# Add inputs and outputs from these tool invocations to the build variables | |||||
C_SRCS += \ | |||||
../Core/Src/clock_f4.c \ | |||||
../Core/Src/l6208.c \ | |||||
../Core/Src/main.c \ | |||||
../Core/Src/stm32f4xx_hal_msp.c \ | |||||
../Core/Src/stm32f4xx_it.c \ | |||||
../Core/Src/stm32f4xx_nucleo.c \ | |||||
../Core/Src/syscalls.c \ | |||||
../Core/Src/sysmem.c \ | |||||
../Core/Src/system_stm32f4xx.c \ | |||||
../Core/Src/x_nucleo_ihm05a1_stm32f4xx.c \ | |||||
../Core/Src/x_nucleo_ihmxx.c | |||||
OBJS += \ | |||||
./Core/Src/clock_f4.o \ | |||||
./Core/Src/l6208.o \ | |||||
./Core/Src/main.o \ | |||||
./Core/Src/stm32f4xx_hal_msp.o \ | |||||
./Core/Src/stm32f4xx_it.o \ | |||||
./Core/Src/stm32f4xx_nucleo.o \ | |||||
./Core/Src/syscalls.o \ | |||||
./Core/Src/sysmem.o \ | |||||
./Core/Src/system_stm32f4xx.o \ | |||||
./Core/Src/x_nucleo_ihm05a1_stm32f4xx.o \ | |||||
./Core/Src/x_nucleo_ihmxx.o | |||||
C_DEPS += \ | |||||
./Core/Src/clock_f4.d \ | |||||
./Core/Src/l6208.d \ | |||||
./Core/Src/main.d \ | |||||
./Core/Src/stm32f4xx_hal_msp.d \ | |||||
./Core/Src/stm32f4xx_it.d \ | |||||
./Core/Src/stm32f4xx_nucleo.d \ | |||||
./Core/Src/syscalls.d \ | |||||
./Core/Src/sysmem.d \ | |||||
./Core/Src/system_stm32f4xx.d \ | |||||
./Core/Src/x_nucleo_ihm05a1_stm32f4xx.d \ | |||||
./Core/Src/x_nucleo_ihmxx.d | |||||
# Each subdirectory must supply rules for building sources it contributes | |||||
Core/Src/clock_f4.o: ../Core/Src/clock_f4.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/clock_f4.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/l6208.o: ../Core/Src/l6208.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/l6208.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/main.o: ../Core/Src/main.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/stm32f4xx_hal_msp.o: ../Core/Src/stm32f4xx_hal_msp.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32f4xx_hal_msp.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/stm32f4xx_it.o: ../Core/Src/stm32f4xx_it.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32f4xx_it.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/stm32f4xx_nucleo.o: ../Core/Src/stm32f4xx_nucleo.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32f4xx_nucleo.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/syscalls.o: ../Core/Src/syscalls.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/syscalls.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/sysmem.o: ../Core/Src/sysmem.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/sysmem.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/system_stm32f4xx.o: ../Core/Src/system_stm32f4xx.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/system_stm32f4xx.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/x_nucleo_ihm05a1_stm32f4xx.o: ../Core/Src/x_nucleo_ihm05a1_stm32f4xx.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/x_nucleo_ihm05a1_stm32f4xx.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/x_nucleo_ihmxx.o: ../Core/Src/x_nucleo_ihmxx.c | |||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F401xE -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/x_nucleo_ihmxx.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" | |||||
Core/Src/syscalls.o: ../Core/Src/syscalls.c |
syscalls.c:48:6:initialise_monitor_handles 4 static | |||||
syscalls.c:52:5:_getpid 4 static | |||||
syscalls.c:57:5:_kill 16 static | |||||
syscalls.c:63:6:_exit 16 static | |||||
syscalls.c:69:27:_read 32 static | |||||
syscalls.c:81:27:_write 32 static | |||||
syscalls.c:92:5:_close 16 static | |||||
syscalls.c:98:5:_fstat 16 static | |||||
syscalls.c:104:5:_isatty 16 static | |||||
syscalls.c:109:5:_lseek 24 static | |||||
syscalls.c:114:5:_open 12 static | |||||
syscalls.c:120:5:_wait 16 static | |||||
syscalls.c:126:5:_unlink 16 static | |||||
syscalls.c:132:5:_times 16 static | |||||
syscalls.c:137:5:_stat 16 static | |||||
syscalls.c:143:5:_link 16 static | |||||
syscalls.c:149:5:_fork 8 static | |||||
syscalls.c:155:5:_execve 24 static |
Core/Src/sysmem.o: ../Core/Src/sysmem.c |
sysmem.c:54:7:_sbrk 32 static |
Core/Src/system_stm32f4xx.o: ../Core/Src/system_stm32f4xx.c \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
system_stm32f4xx.c:150:6:SystemInit 4 static | |||||
system_stm32f4xx.c:219:6:SystemCoreClockUpdate 32 static |
Core/Src/x_nucleo_ihm05a1_stm32f4xx.o: \ | |||||
../Core/Src/x_nucleo_ihm05a1_stm32f4xx.c \ | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h ../Core/Inc/stm32f4xx_nucleo.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ | |||||
../Core/Inc/motor.h | |||||
../Core/Inc/x_nucleo_ihm05a1_stm32f4xx.h: | |||||
../Core/Inc/stm32f4xx_nucleo.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: | |||||
../Core/Inc/motor.h: |
x_nucleo_ihm05a1_stm32f4xx.c:134:6:L6208_Board_Delay 16 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:143:6:L6208_Board_DisableIrq 4 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:152:6:L6208_Board_EnableIrq 4 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:161:6:L6208_Board_GpioInit 40 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:228:6:L6208_Board_TickInit 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:259:6:L6208_Board_TickStart 16 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:272:6:L6208_Board_TickStop 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:281:10:L6208_Board_TickGetFreq 4 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:293:6:L6208_Board_VrefPwmFreqCheck 16 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:314:6:L6208_Board_VrefPwmInit 24 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:372:6:L6208_Board_VrefPwmSetDutyCycle 24 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:411:6:L6208_Board_VrefPwmStart 32 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:446:6:L6208_Board_VrefPwmStop 24 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:474:10:L6208_Board_VrefPwmGetPeriod 4 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:483:6:L6208_Board_ReleaseReset 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:492:6:L6208_Board_Reset 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:501:6:L6208_Board_CONTROL_PIN_Set 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:510:6:L6208_Board_CONTROL_PIN_Reset 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:519:6:L6208_Board_CLOCK_PIN_Set 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:528:6:L6208_Board_CLOCK_PIN_Reset 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:537:6:L6208_Board_HALF_FULL_PIN_Set 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:546:6:L6208_Board_HALF_FULL_PIN_Reset 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:555:6:L6208_Board_DIR_PIN_Set 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:564:6:L6208_Board_DIR_PIN_Reset 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:573:10:L6208_Board_FLAG_PIN_GetState 8 static | |||||
x_nucleo_ihm05a1_stm32f4xx.c:582:6:L6208_Board_Disable 32 static,ignoring_inline_asm | |||||
x_nucleo_ihm05a1_stm32f4xx.c:602:6:L6208_Board_Enable 32 static |
Core/Src/x_nucleo_ihmxx.o: ../Core/Src/x_nucleo_ihmxx.c \ | |||||
../Core/Inc/x_nucleo_ihmxx.h ../Core/Inc/motor.h | |||||
../Core/Inc/x_nucleo_ihmxx.h: | |||||
../Core/Inc/motor.h: |
x_nucleo_ihmxx.c:98:20:L6474_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:100:20:l647x_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:102:20:l648x_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:104:20:Powerstep01_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:106:20:L6206_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:108:20:L6208_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:110:20:Stspin220_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:112:20:Stspin240_250_GetMotorHandle 4 static | |||||
x_nucleo_ihmxx.c:129:6:BSP_MotorControl_AttachErrorHandler 16 static | |||||
x_nucleo_ihmxx.c:149:6:BSP_MotorControl_AttachFlagInterrupt 16 static | |||||
x_nucleo_ihmxx.c:169:6:BSP_MotorControl_AttachBusyInterrupt 16 static | |||||
x_nucleo_ihmxx.c:186:6:BSP_MotorControl_ErrorHandler 16 static | |||||
x_nucleo_ihmxx.c:209:6:BSP_MotorControl_Init 16 static | |||||
x_nucleo_ihmxx.c:225:6:BSP_MotorControl_FlagInterruptHandler 8 static | |||||
x_nucleo_ihmxx.c:242:10:BSP_MotorControl_GetAcceleration 24 static | |||||
x_nucleo_ihmxx.c:261:10:BSP_MotorControl_GetBoardId 4 static | |||||
x_nucleo_ihmxx.c:273:10:BSP_MotorControl_GetCurrentSpeed 24 static | |||||
x_nucleo_ihmxx.c:293:10:BSP_MotorControl_GetDeceleration 24 static | |||||
x_nucleo_ihmxx.c:316:14:BSP_MotorControl_GetDeviceState 24 static | |||||
x_nucleo_ihmxx.c:337:10:BSP_MotorControl_GetFwVersion 16 static | |||||
x_nucleo_ihmxx.c:358:9:BSP_MotorControl_GetMark 24 static | |||||
x_nucleo_ihmxx.c:381:10:BSP_MotorControl_GetMaxSpeed 24 static | |||||
x_nucleo_ihmxx.c:401:10:BSP_MotorControl_GetMinSpeed 24 static | |||||
x_nucleo_ihmxx.c:422:9:BSP_MotorControl_GetPosition 24 static | |||||
x_nucleo_ihmxx.c:443:6:BSP_MotorControl_GoHome 16 static | |||||
x_nucleo_ihmxx.c:461:6:BSP_MotorControl_GoMark 16 static | |||||
x_nucleo_ihmxx.c:480:6:BSP_MotorControl_GoTo 16 static | |||||
x_nucleo_ihmxx.c:499:6:BSP_MotorControl_HardStop 16 static | |||||
x_nucleo_ihmxx.c:519:6:BSP_MotorControl_Move 16 static | |||||
x_nucleo_ihmxx.c:535:6:BSP_MotorControl_ResetAllDevices 8 static | |||||
x_nucleo_ihmxx.c:558:6:BSP_MotorControl_Run 16 static | |||||
x_nucleo_ihmxx.c:578:6:BSP_MotorControl_SetAcceleration 24 static | |||||
x_nucleo_ihmxx.c:601:6:BSP_MotorControl_SetDeceleration 24 static | |||||
x_nucleo_ihmxx.c:622:6:BSP_MotorControl_SetHome 16 static | |||||
x_nucleo_ihmxx.c:641:6:BSP_MotorControl_SetMark 16 static | |||||
x_nucleo_ihmxx.c:664:6:BSP_MotorControl_SetMaxSpeed 24 static | |||||
x_nucleo_ihmxx.c:687:6:BSP_MotorControl_SetMinSpeed 24 static | |||||
x_nucleo_ihmxx.c:710:6:BSP_MotorControl_SoftStop 24 static | |||||
x_nucleo_ihmxx.c:732:6:BSP_MotorControl_StepClockHandler 16 static | |||||
x_nucleo_ihmxx.c:749:6:BSP_MotorControl_WaitWhileActive 16 static | |||||
x_nucleo_ihmxx.c:779:6:BSP_MotorControl_CmdDisable 16 static | |||||
x_nucleo_ihmxx.c:801:6:BSP_MotorControl_CmdEnable 16 static | |||||
x_nucleo_ihmxx.c:819:10:BSP_MotorControl_CmdGetParam 24 static | |||||
x_nucleo_ihmxx.c:847:10:BSP_MotorControl_CmdGetStatus 24 static | |||||
x_nucleo_ihmxx.c:866:6:BSP_MotorControl_CmdNop 16 static | |||||
x_nucleo_ihmxx.c:885:6:BSP_MotorControl_CmdSetParam 24 static | |||||
x_nucleo_ihmxx.c:906:10:BSP_MotorControl_ReadStatusRegister 24 static | |||||
x_nucleo_ihmxx.c:925:6:BSP_MotorControl_ReleaseReset 16 static | |||||
x_nucleo_ihmxx.c:941:6:BSP_MotorControl_Reset 16 static | |||||
x_nucleo_ihmxx.c:961:6:BSP_MotorControl_SelectStepMode 24 static | |||||
x_nucleo_ihmxx.c:987:6:BSP_MotorControl_SetDirection 16 static | |||||
x_nucleo_ihmxx.c:1007:6:BSP_MotorControl_CmdGoToDir 16 static | |||||
x_nucleo_ihmxx.c:1025:9:BSP_MotorControl_CheckBusyHw 16 static | |||||
x_nucleo_ihmxx.c:1046:9:BSP_MotorControl_CheckStatusHw 16 static | |||||
x_nucleo_ihmxx.c:1068:6:BSP_MotorControl_CmdGoUntil 24 static | |||||
x_nucleo_ihmxx.c:1089:6:BSP_MotorControl_CmdHardHiZ 16 static | |||||
x_nucleo_ihmxx.c:1108:6:BSP_MotorControl_CmdReleaseSw 16 static | |||||
x_nucleo_ihmxx.c:1125:6:BSP_MotorControl_CmdResetDevice 16 static | |||||
x_nucleo_ihmxx.c:1142:6:BSP_MotorControl_CmdResetPos 16 static | |||||
x_nucleo_ihmxx.c:1161:6:BSP_MotorControl_CmdRun 16 static | |||||
x_nucleo_ihmxx.c:1178:6:BSP_MotorControl_CmdSoftHiZ 16 static | |||||
x_nucleo_ihmxx.c:1196:6:BSP_MotorControl_CmdStepClock 16 static | |||||
x_nucleo_ihmxx.c:1218:6:BSP_MotorControl_FetchAndClearAllStatus 8 static | |||||
x_nucleo_ihmxx.c:1238:10:BSP_MotorControl_GetFetchedStatus 24 static | |||||
x_nucleo_ihmxx.c:1256:9:BSP_MotorControl_GetNbDevices 16 static | |||||
x_nucleo_ihmxx.c:1276:6:BSP_MotorControl_IsDeviceBusy 24 static | |||||
x_nucleo_ihmxx.c:1295:6:BSP_MotorControl_SendQueuedCommands 8 static | |||||
x_nucleo_ihmxx.c:1321:6:BSP_MotorControl_QueueCommands 16 static | |||||
x_nucleo_ihmxx.c:1337:6:BSP_MotorControl_WaitForAllDevicesNotBusy 8 static | |||||
x_nucleo_ihmxx.c:1353:6:BSP_MotorControl_BusyInterruptHandler 8 static | |||||
x_nucleo_ihmxx.c:1370:6:BSP_MotorControl_CmdSoftStop 16 static | |||||
x_nucleo_ihmxx.c:1388:6:BSP_MotorControl_StartStepClock 16 static | |||||
x_nucleo_ihmxx.c:1404:6:BSP_MotorControl_StopStepClock 8 static | |||||
x_nucleo_ihmxx.c:1424:6:BSP_MotorControl_SetDualFullBridgeConfig 16 static | |||||
x_nucleo_ihmxx.c:1442:10:BSP_MotorControl_GetBridgeInputPwmFreq 24 static | |||||
x_nucleo_ihmxx.c:1464:6:BSP_MotorControl_SetBridgeInputPwmFreq 16 static | |||||
x_nucleo_ihmxx.c:1485:6:BSP_MotorControl_SetStopMode 16 static | |||||
x_nucleo_ihmxx.c:1503:17:BSP_MotorControl_GetStopMode 24 static | |||||
x_nucleo_ihmxx.c:1525:6:BSP_MotorControl_SetDecayMode 16 static | |||||
x_nucleo_ihmxx.c:1543:18:BSP_MotorControl_GetDecayMode 24 static | |||||
x_nucleo_ihmxx.c:1564:17:BSP_MotorControl_GetStepMode 24 static | |||||
x_nucleo_ihmxx.c:1585:12:BSP_MotorControl_GetDirection 24 static | |||||
x_nucleo_ihmxx.c:1605:6:BSP_MotorControl_ExitDeviceFromReset 16 static | |||||
x_nucleo_ihmxx.c:1623:9:BSP_MotorControl_GetTorque 24 static | |||||
x_nucleo_ihmxx.c:1645:6:BSP_MotorControl_SetTorque 16 static | |||||
x_nucleo_ihmxx.c:1663:6:BSP_MotorControl_SetRefFreq 16 static | |||||
x_nucleo_ihmxx.c:1680:10:BSP_MotorControl_GetRefFreq 24 static | |||||
x_nucleo_ihmxx.c:1700:6:BSP_MotorControl_SetRefDc 16 static | |||||
x_nucleo_ihmxx.c:1717:9:BSP_MotorControl_GetRefDc 24 static | |||||
x_nucleo_ihmxx.c:1739:6:BSP_MotorControl_SetNbDevices 24 static | |||||
x_nucleo_ihmxx.c:1798:6:BSP_MotorControl_SetAnalogValue 32 static | |||||
x_nucleo_ihmxx.c:1818:7:BSP_MotorControl_GetAnalogValue 24 static | |||||
x_nucleo_ihmxx.c:1838:6:BSP_MotorControl_SetTorqueBoostEnable 16 static | |||||
x_nucleo_ihmxx.c:1855:6:BSP_MotorControl_GetTorqueBoostEnable 24 static | |||||
x_nucleo_ihmxx.c:1876:6:BSP_MotorControl_SetTorqueBoostThreshold 16 static | |||||
x_nucleo_ihmxx.c:1894:10:BSP_MotorControl_GetTorqueBoostThreshold 24 static | |||||
x_nucleo_ihmxx.c:1915:9:BSP_MotorControl_GetDualFullBridgeConfig 16 static |
Core/Startup/startup_stm32f401retx.o: \ | |||||
../Core/Startup/startup_stm32f401retx.s |
################################################################################ | |||||
# Automatically-generated file. Do not edit! | |||||
################################################################################ | |||||
# Add inputs and outputs from these tool invocations to the build variables | |||||
S_SRCS += \ | |||||
../Core/Startup/startup_stm32f401retx.s | |||||
OBJS += \ | |||||
./Core/Startup/startup_stm32f401retx.o | |||||
S_DEPS += \ | |||||
./Core/Startup/startup_stm32f401retx.d | |||||
# Each subdirectory must supply rules for building sources it contributes | |||||
Core/Startup/startup_stm32f401retx.o: ../Core/Startup/startup_stm32f401retx.s | |||||
arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -c -x assembler-with-cpp -MMD -MP -MF"Core/Startup/startup_stm32f401retx.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" "$<" | |||||
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
stm32f4xx_hal.c:173:19:HAL_Init 8 static | |||||
stm32f4xx_hal.c:206:19:HAL_DeInit 8 static | |||||
stm32f4xx_hal.c:235:13:HAL_MspInit 4 static | |||||
stm32f4xx_hal.c:246:13:HAL_MspDeInit 4 static | |||||
stm32f4xx_hal.c:269:26:HAL_InitTick 16 static | |||||
stm32f4xx_hal.c:328:13:HAL_IncTick 4 static | |||||
stm32f4xx_hal.c:339:17:HAL_GetTick 4 static | |||||
stm32f4xx_hal.c:348:10:HAL_GetTickPrio 4 static | |||||
stm32f4xx_hal.c:357:19:HAL_SetTickFreq 24 static | |||||
stm32f4xx_hal.c:377:21:HAL_GetTickFreq 4 static | |||||
stm32f4xx_hal.c:393:13:HAL_Delay 24 static | |||||
stm32f4xx_hal.c:419:13:HAL_SuspendTick 4 static | |||||
stm32f4xx_hal.c:435:13:HAL_ResumeTick 4 static | |||||
stm32f4xx_hal.c:445:10:HAL_GetHalVersion 4 static | |||||
stm32f4xx_hal.c:454:10:HAL_GetREVID 4 static | |||||
stm32f4xx_hal.c:463:10:HAL_GetDEVID 4 static | |||||
stm32f4xx_hal.c:472:6:HAL_DBGMCU_EnableDBGSleepMode 4 static | |||||
stm32f4xx_hal.c:481:6:HAL_DBGMCU_DisableDBGSleepMode 4 static | |||||
stm32f4xx_hal.c:490:6:HAL_DBGMCU_EnableDBGStopMode 4 static | |||||
stm32f4xx_hal.c:499:6:HAL_DBGMCU_DisableDBGStopMode 4 static | |||||
stm32f4xx_hal.c:508:6:HAL_DBGMCU_EnableDBGStandbyMode 4 static | |||||
stm32f4xx_hal.c:517:6:HAL_DBGMCU_DisableDBGStandbyMode 4 static | |||||
stm32f4xx_hal.c:528:6:HAL_EnableCompensationCell 4 static | |||||
stm32f4xx_hal.c:539:6:HAL_DisableCompensationCell 4 static | |||||
stm32f4xx_hal.c:549:6:HAL_GetUID 16 static |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
stm32f4xx_hal_adc.c:256:19:HAL_ADC_Init 24 static | |||||
stm32f4xx_hal_adc.c:334:19:HAL_ADC_DeInit 24 static | |||||
stm32f4xx_hal_adc.c:381:13:HAL_ADC_MspInit 16 static | |||||
stm32f4xx_hal_adc.c:396:13:HAL_ADC_MspDeInit 16 static | |||||
stm32f4xx_hal_adc.c:435:19:HAL_ADC_Start 24 static | |||||
stm32f4xx_hal_adc.c:542:19:HAL_ADC_Stop 16 static | |||||
stm32f4xx_hal_adc.c:585:19:HAL_ADC_PollForConversion 24 static | |||||
stm32f4xx_hal_adc.c:670:19:HAL_ADC_PollForEvent 32 static | |||||
stm32f4xx_hal_adc.c:732:19:HAL_ADC_Start_IT 24 static | |||||
stm32f4xx_hal_adc.c:841:19:HAL_ADC_Stop_IT 16 static | |||||
stm32f4xx_hal_adc.c:878:6:HAL_ADC_IRQHandler 24 static | |||||
stm32f4xx_hal_adc.c:1023:19:HAL_ADC_Start_DMA 32 static | |||||
stm32f4xx_hal_adc.c:1148:19:HAL_ADC_Stop_DMA 24 static | |||||
stm32f4xx_hal_adc.c:1194:10:HAL_ADC_GetValue 16 static | |||||
stm32f4xx_hal_adc.c:1206:13:HAL_ADC_ConvCpltCallback 16 static | |||||
stm32f4xx_hal_adc.c:1221:13:HAL_ADC_ConvHalfCpltCallback 16 static | |||||
stm32f4xx_hal_adc.c:1236:13:HAL_ADC_LevelOutOfWindowCallback 16 static | |||||
stm32f4xx_hal_adc.c:1257:13:HAL_ADC_ErrorCallback 16 static | |||||
stm32f4xx_hal_adc.c:1295:19:HAL_ADC_ConfigChannel 24 static | |||||
stm32f4xx_hal_adc.c:1407:19:HAL_ADC_AnalogWDGConfig 16 static | |||||
stm32f4xx_hal_adc.c:1489:10:HAL_ADC_GetState 16 static | |||||
stm32f4xx_hal_adc.c:1501:10:HAL_ADC_GetError 16 static | |||||
stm32f4xx_hal_adc.c:1521:13:ADC_Init 24 static | |||||
stm32f4xx_hal_adc.c:1609:13:ADC_DMAConvCplt 24 static | |||||
stm32f4xx_hal_adc.c:1662:13:ADC_DMAHalfConvCplt 24 static | |||||
stm32f4xx_hal_adc.c:1675:13:ADC_DMAError 24 static |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
stm32f4xx_hal_adc_ex.c:175:19:HAL_ADCEx_InjectedStart 32 static | |||||
stm32f4xx_hal_adc_ex.c:270:19:HAL_ADCEx_InjectedStart_IT 32 static | |||||
stm32f4xx_hal_adc_ex.c:373:19:HAL_ADCEx_InjectedStop 24 static | |||||
stm32f4xx_hal_adc_ex.c:427:19:HAL_ADCEx_InjectedPollForConversion 24 static | |||||
stm32f4xx_hal_adc_ex.c:494:19:HAL_ADCEx_InjectedStop_IT 24 static | |||||
stm32f4xx_hal_adc_ex.c:556:10:HAL_ADCEx_InjectedGetValue 24 static | |||||
stm32f4xx_hal_adc_ex.c:607:19:HAL_ADCEx_MultiModeStart_DMA 32 static | |||||
stm32f4xx_hal_adc_ex.c:726:19:HAL_ADCEx_MultiModeStop_DMA 24 static | |||||
stm32f4xx_hal_adc_ex.c:779:10:HAL_ADCEx_MultiModeGetValue 24 static | |||||
stm32f4xx_hal_adc_ex.c:798:13:HAL_ADCEx_InjectedConvCpltCallback 16 static | |||||
stm32f4xx_hal_adc_ex.c:815:19:HAL_ADCEx_InjectedConfigChannel 24 static | |||||
stm32f4xx_hal_adc_ex.c:979:19:HAL_ADCEx_MultiModeConfigChannel 24 static | |||||
stm32f4xx_hal_adc_ex.c:1026:13:ADC_MultiModeDMAConvCplt 24 static | |||||
stm32f4xx_hal_adc_ex.c:1079:13:ADC_MultiModeDMAHalfConvCplt 24 static | |||||
stm32f4xx_hal_adc_ex.c:1092:13:ADC_MultiModeDMAError 24 static |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cec.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cec.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
core_cm4.h:1657:22:__NVIC_SetPriorityGrouping 24 static | |||||
core_cm4.h:1676:26:__NVIC_GetPriorityGrouping 4 static | |||||
core_cm4.h:1688:22:__NVIC_EnableIRQ 16 static | |||||
core_cm4.h:1724:22:__NVIC_DisableIRQ 16 static,ignoring_inline_asm | |||||
core_cm4.h:1743:26:__NVIC_GetPendingIRQ 16 static | |||||
core_cm4.h:1762:22:__NVIC_SetPendingIRQ 16 static | |||||
core_cm4.h:1777:22:__NVIC_ClearPendingIRQ 16 static | |||||
core_cm4.h:1794:26:__NVIC_GetActive 16 static | |||||
core_cm4.h:1816:22:__NVIC_SetPriority 16 static | |||||
core_cm4.h:1838:26:__NVIC_GetPriority 16 static | |||||
core_cm4.h:1863:26:NVIC_EncodePriority 40 static | |||||
core_cm4.h:1890:22:NVIC_DecodePriority 40 static | |||||
core_cm4.h:1939:34:__NVIC_SystemReset 4 static,ignoring_inline_asm | |||||
core_cm4.h:2022:26:SysTick_Config 16 static | |||||
stm32f4xx_hal_cortex.c:159:6:HAL_NVIC_SetPriorityGrouping 16 static | |||||
stm32f4xx_hal_cortex.c:181:6:HAL_NVIC_SetPriority 32 static | |||||
stm32f4xx_hal_cortex.c:203:6:HAL_NVIC_EnableIRQ 16 static | |||||
stm32f4xx_hal_cortex.c:219:6:HAL_NVIC_DisableIRQ 16 static | |||||
stm32f4xx_hal_cortex.c:232:6:HAL_NVIC_SystemReset 8 static | |||||
stm32f4xx_hal_cortex.c:245:10:HAL_SYSTICK_Config 16 static | |||||
stm32f4xx_hal_cortex.c:274:6:HAL_MPU_Disable 4 static,ignoring_inline_asm | |||||
stm32f4xx_hal_cortex.c:297:6:HAL_MPU_Enable 16 static,ignoring_inline_asm | |||||
stm32f4xx_hal_cortex.c:316:6:HAL_MPU_ConfigRegion 16 static | |||||
stm32f4xx_hal_cortex.c:360:10:HAL_NVIC_GetPriorityGrouping 8 static | |||||
stm32f4xx_hal_cortex.c:387:6:HAL_NVIC_GetPriority 24 static | |||||
stm32f4xx_hal_cortex.c:402:6:HAL_NVIC_SetPendingIRQ 16 static | |||||
stm32f4xx_hal_cortex.c:420:10:HAL_NVIC_GetPendingIRQ 16 static | |||||
stm32f4xx_hal_cortex.c:436:6:HAL_NVIC_ClearPendingIRQ 16 static | |||||
stm32f4xx_hal_cortex.c:453:10:HAL_NVIC_GetActive 16 static | |||||
stm32f4xx_hal_cortex.c:470:6:HAL_SYSTICK_CLKSourceConfig 16 static | |||||
stm32f4xx_hal_cortex.c:488:6:HAL_SYSTICK_IRQHandler 8 static | |||||
stm32f4xx_hal_cortex.c:497:13:HAL_SYSTICK_Callback 4 static |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cryp.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cryp.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cryp_ex.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cryp_ex.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dac.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dac.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dac_ex.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dac_ex.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dcmi.o: \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dcmi.c \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h \ | |||||
../Core/Inc/stm32f4xx_hal_conf.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h \ | |||||
../Drivers/CMSIS/Include/core_cm4.h \ | |||||
../Drivers/CMSIS/Include/cmsis_version.h \ | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h \ | |||||
../Drivers/CMSIS/Include/mpu_armv7.h \ | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h \ | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h: | |||||
../Core/Inc/stm32f4xx_hal_conf.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h: | |||||
../Drivers/CMSIS/Include/core_cm4.h: | |||||
../Drivers/CMSIS/Include/cmsis_version.h: | |||||
../Drivers/CMSIS/Include/cmsis_compiler.h: | |||||
../Drivers/CMSIS/Include/cmsis_gcc.h: | |||||
../Drivers/CMSIS/Include/mpu_armv7.h: | |||||
../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h: | |||||
../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h: |