From 52a0a9295cc05120c808a3120a6e7d1a2d4e1cbb Mon Sep 17 00:00:00 2001 From: Carsten Keller <mail@carstenkeller.dev> Date: Sun, 9 Jun 2024 17:57:55 +0200 Subject: [PATCH] =?UTF-8?q?CLI=20hinzugef=C3=BCgt=20und=20Kommando=20um=20?= =?UTF-8?q?soll-strom=20zu=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cproject | 302 +---------------------------------- Elektronische_Last.ioc | 79 +++++---- STM32G071KBTX_FLASH.ld | 4 +- Source/ElektronischeLast.cpp | 31 +++- Source/FanControl.cpp | 53 +++++- Source/STM32G071KBT6.cpp | 6 +- Source/serial.cpp | 16 +- Source/serial.hpp | 1 + 8 files changed, 160 insertions(+), 332 deletions(-) diff --git a/.cproject b/.cproject index 9bcae4c..d3d0622 100644 --- a/.cproject +++ b/.cproject @@ -21,7 +21,7 @@ <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.945520948" name="CPU" 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.748516001" name="Core" 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.target_board.748507410" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.2001688789" 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.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G071KBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32G0xx/Include | ../Drivers/CMSIS/Include || || || USE_FULL_LL_DRIVER | HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | EXTERNAL_CLOCK_VALUE=48000 | HSI_VALUE=16000000 | LSI_VALUE=32000 | VDD_VALUE=3300 | PREFETCH_ENABLE=1 | INSTRUCTION_CACHE_ENABLE=1 | DATA_CACHE_ENABLE=1 | STM32G071xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.2001688789" 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.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G071KBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32G0xx/Include | ../Drivers/CMSIS/Include || || || USE_FULL_LL_DRIVER | STM32G071xx | HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | EXTERNAL_CLOCK_VALUE=48000 | HSI_VALUE=16000000 | LSI_VALUE=32000 | VDD_VALUE=3300 | PREFETCH_ENABLE=1 | INSTRUCTION_CACHE_ENABLE=1 | DATA_CACHE_ENABLE=1 || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/> <option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1376588588" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="64" valueType="string"/> <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.435639564" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/> <builder buildPath="${workspace_loc:/Elektronische_Last}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1371483124" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/> @@ -52,10 +52,12 @@ <listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/> </option> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.207041864" 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="../Drivers/STM32G0xx_HAL_Driver/Inc"/> + <listOptionValue builtIn="false" value="../CLI/CLI/inc"/> <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32G0xx/Include"/> <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> - <listOptionValue builtIn="false" value="../Core/Inc"/> + <listOptionValue builtIn="false" value="../Drivers/STM32G0xx_HAL_Driver/Inc"/> + <listOptionValue builtIn="false" value="../Source"/> + <listOptionValue builtIn="false" value="../Trace/Trace"/> </option> <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.cyclomaticcomplexity.1886424559" name="Cyclomatic Complexity (-fcyclomatic-complexity)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.cyclomaticcomplexity" useByScannerDiscovery="false" value="false" valueType="boolean"/> <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1264476132" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/> @@ -80,11 +82,11 @@ <listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/> </option> <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.1859335353" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath"> - <listOptionValue builtIn="false" value="../PID"/> + <listOptionValue builtIn="false" value="../CLI/CLI/inc"/> <listOptionValue builtIn="false" value="../Drivers/STM32G0xx_HAL_Driver/Inc"/> <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32G0xx/Include"/> <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> - <listOptionValue builtIn="false" value="../Core/Inc"/> + <listOptionValue builtIn="false" value="../PID"/> </option> <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.cyclomaticcomplexity.252319591" name="Cyclomatic Complexity (-fcyclomatic-complexity)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.cyclomaticcomplexity" useByScannerDiscovery="false" value="false" valueType="boolean"/> <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1927990509" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/> @@ -114,6 +116,7 @@ </toolChain> </folderInfo> <sourceEntries> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="CLI/CLI"/> <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/> <entry excluding="PID_Test.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="PID"/> <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Source"/> @@ -122,295 +125,6 @@ </storageModule> <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> </cconfiguration> - <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1435234696"> - <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1435234696" 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.1435234696" 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.1435234696." name="/" resourcePath=""> - <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.196580810" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release"> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.373772048" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32G071KBTx" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.15513387" name="CPU" 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.1882101594" name="Core" 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.target_board.960217654" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1195671514" 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.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G071KBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32G0xx/Include | ../Drivers/CMSIS/Include || || || USE_FULL_LL_DRIVER | HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | EXTERNAL_CLOCK_VALUE=48000 | HSI_VALUE=16000000 | LSI_VALUE=32000 | VDD_VALUE=3300 | PREFETCH_ENABLE=1 | INSTRUCTION_CACHE_ENABLE=1 | DATA_CACHE_ENABLE=1 | STM32G071xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1376887677" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="64" valueType="string"/> - <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.2057771488" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/> - <builder buildPath="${workspace_loc:/Elektronische_Last}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1488546250" 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.1060209756" 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.236826865" 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.670231085" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/> - </tool> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.762222919" 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.1638900605" 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.753485463" 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.1153693824" 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="STM32G071xx"/> - <listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/> - <listOptionValue builtIn="false" value="HSE_VALUE=8000000"/> - <listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/> - <listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/> - <listOptionValue builtIn="false" value="LSE_VALUE=32768"/> - <listOptionValue builtIn="false" value="EXTERNAL_CLOCK_VALUE=48000"/> - <listOptionValue builtIn="false" value="HSI_VALUE=16000000"/> - <listOptionValue builtIn="false" value="LSI_VALUE=32000"/> - <listOptionValue builtIn="false" value="VDD_VALUE=3300"/> - <listOptionValue builtIn="false" value="PREFETCH_ENABLE=1"/> - <listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/> - <listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/> - </option> - <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.386914258" 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/STM32G0xx_HAL_Driver/Inc"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32G0xx/Include"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> - </option> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.445425540" 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.1865155422" 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.926161750" 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.444709166" 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"/> - <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.564197812" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols"> - <listOptionValue builtIn="false" value="STM32G071xx"/> - <listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/> - <listOptionValue builtIn="false" value="HSE_VALUE=8000000"/> - <listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/> - <listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/> - <listOptionValue builtIn="false" value="LSE_VALUE=32768"/> - <listOptionValue builtIn="false" value="EXTERNAL_CLOCK_VALUE=48000"/> - <listOptionValue builtIn="false" value="HSI_VALUE=16000000"/> - <listOptionValue builtIn="false" value="LSI_VALUE=32000"/> - <listOptionValue builtIn="false" value="VDD_VALUE=3300"/> - <listOptionValue builtIn="false" value="PREFETCH_ENABLE=1"/> - <listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/> - <listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/> - </option> - <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.686907796" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath"> - <listOptionValue builtIn="false" value="../Core/Inc"/> - <listOptionValue builtIn="false" value="../Drivers/STM32G0xx_HAL_Driver/Inc"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32G0xx/Include"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> - </option> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1377472624" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/> - </tool> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1192301450" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker"/> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.494673465" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1637325835" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld}" valueType="string"/> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.497509342" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.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.archiver.676316545" 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.1950972661" 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.1909635296" 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.235016877" 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.465724624" 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.530976685" 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.1569995238" 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.2133952340" 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="Drivers"/> - <entry excluding="PID_Test.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="PID"/> - <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Source"/> - </sourceEntries> - </configuration> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> - </cconfiguration> - <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.284196537"> - <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.284196537" 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.284196537" 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.284196537." name="/" resourcePath=""> - <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.642493198" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug"> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1850481729" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32G071KBTx" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.906945421" name="CPU" 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.439682845" name="Core" 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.target_board.1082588764" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1919416828" 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.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G071KBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32G0xx/Include | ../Drivers/CMSIS/Include || || || USE_FULL_LL_DRIVER | HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | EXTERNAL_CLOCK_VALUE=48000 | HSI_VALUE=16000000 | LSI_VALUE=32000 | VDD_VALUE=3300 | PREFETCH_ENABLE=1 | INSTRUCTION_CACHE_ENABLE=1 | DATA_CACHE_ENABLE=1 | STM32G071xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/> - <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1292419321" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/> - <builder buildPath="${workspace_loc:/Elektronische_Last}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1985852819" 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.840802339" 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.807143006" 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"/> - <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.1073703050" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols"> - <listOptionValue builtIn="false" value="DEBUG"/> - </option> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.557390366" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/> - </tool> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.550079694" 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.1476914154" 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.987033425" 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.1165082839" 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="DEBUG"/> - <listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/> - <listOptionValue builtIn="false" value="HSE_VALUE=8000000"/> - <listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/> - <listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/> - <listOptionValue builtIn="false" value="LSE_VALUE=32768"/> - <listOptionValue builtIn="false" value="EXTERNAL_CLOCK_VALUE=48000"/> - <listOptionValue builtIn="false" value="HSI_VALUE=16000000"/> - <listOptionValue builtIn="false" value="LSI_VALUE=32000"/> - <listOptionValue builtIn="false" value="VDD_VALUE=3300"/> - <listOptionValue builtIn="false" value="PREFETCH_ENABLE=1"/> - <listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/> - <listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/> - <listOptionValue builtIn="false" value="STM32G071xx"/> - </option> - <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1105122363" 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/STM32G0xx_HAL_Driver/Inc"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32G0xx/Include"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> - </option> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1092957498" 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.1342751391" 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.1810220044" 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.223182450" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.2108932272" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/> - </tool> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.798423459" 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.113393307" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld}" valueType="string"/> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.379484240" 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.898032245" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.1375357998" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.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.archiver.845859912" 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.822312370" 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.1751485146" 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.259029935" 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.1862461831" 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.2021677652" 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.1529320045" 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.854376363" 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="Drivers"/> - <entry excluding="PID_Test.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="PID"/> - </sourceEntries> - </configuration> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> - </cconfiguration> - <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1583925056"> - <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1583925056" 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.1583925056" 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.1583925056." name="/" resourcePath=""> - <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.651000656" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release"> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.525006627" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32G071KBTx" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1139208524" name="CPU" 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.1288736265" name="Core" 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.target_board.1847366457" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1362298696" 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.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G071KBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32G0xx/Include | ../Drivers/CMSIS/Include || || || USE_FULL_LL_DRIVER | HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | EXTERNAL_CLOCK_VALUE=48000 | HSI_VALUE=16000000 | LSI_VALUE=32000 | VDD_VALUE=3300 | PREFETCH_ENABLE=1 | INSTRUCTION_CACHE_ENABLE=1 | DATA_CACHE_ENABLE=1 | STM32G071xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/> - <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1002864172" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/> - <builder buildPath="${workspace_loc:/Elektronische_Last}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.642238422" 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.403152373" 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.1068999914" 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.1370883082" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/> - </tool> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.396831531" 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.1054016799" 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.850738786" 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.183633599" 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_FULL_LL_DRIVER"/> - <listOptionValue builtIn="false" value="HSE_VALUE=8000000"/> - <listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/> - <listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/> - <listOptionValue builtIn="false" value="LSE_VALUE=32768"/> - <listOptionValue builtIn="false" value="EXTERNAL_CLOCK_VALUE=48000"/> - <listOptionValue builtIn="false" value="HSI_VALUE=16000000"/> - <listOptionValue builtIn="false" value="LSI_VALUE=32000"/> - <listOptionValue builtIn="false" value="VDD_VALUE=3300"/> - <listOptionValue builtIn="false" value="PREFETCH_ENABLE=1"/> - <listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/> - <listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/> - <listOptionValue builtIn="false" value="STM32G071xx"/> - </option> - <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.525261484" 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/STM32G0xx_HAL_Driver/Inc"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32G0xx/Include"/> - <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/> - </option> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.831480056" 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.473521166" 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.1827165720" 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.322153094" 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"/> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.996703581" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/> - </tool> - <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.205645613" 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.1584866250" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32G071KBTX_FLASH.ld}" valueType="string"/> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.2019851352" 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.1574210934" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"> - <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.573995730" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.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.archiver.915512462" 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.1256949424" 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.52737997" 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.755044610" 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.23708533" 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.713508495" 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.1486450784" 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.1420953588" 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="Drivers"/> - <entry excluding="PID_Test.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="PID"/> - </sourceEntries> - </configuration> - </storageModule> - <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> - </cconfiguration> </storageModule> <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> <storageModule moduleId="org.eclipse.cdt.core.pathentry"/> diff --git a/Elektronische_Last.ioc b/Elektronische_Last.ioc index 1233274..57f30c7 100644 --- a/Elektronische_Last.ioc +++ b/Elektronische_Last.ioc @@ -59,6 +59,7 @@ Mcu.Family=STM32G0 Mcu.IP0=ADC1 Mcu.IP1=DAC1 Mcu.IP10=TIM3 +Mcu.IP11=TIM14 Mcu.IP2=DMA Mcu.IP3=I2C2 Mcu.IP4=LPUART1 @@ -67,7 +68,7 @@ Mcu.IP6=RCC Mcu.IP7=SYS Mcu.IP8=TIM1 Mcu.IP9=TIM2 -Mcu.IPNb=11 +Mcu.IPNb=12 Mcu.Name=STM32G071K(6-8-B)Tx Mcu.Package=LQFP32 Mcu.Pin0=PC14-OSC32_IN (PC14) @@ -77,34 +78,36 @@ Mcu.Pin11=PB2 Mcu.Pin12=PA8 Mcu.Pin13=PA9 Mcu.Pin14=PC6 -Mcu.Pin15=PA11 [PA9] -Mcu.Pin16=PA12 [PA10] -Mcu.Pin17=PA13 -Mcu.Pin18=PA14-BOOT0 -Mcu.Pin19=PB3 +Mcu.Pin15=PA10 +Mcu.Pin16=PA11 [PA9] +Mcu.Pin17=PA12 [PA10] +Mcu.Pin18=PA13 +Mcu.Pin19=PA14-BOOT0 Mcu.Pin2=PA1 -Mcu.Pin20=PB4 -Mcu.Pin21=PB5 -Mcu.Pin22=PB6 -Mcu.Pin23=PB7 -Mcu.Pin24=VP_SYS_VS_Systick -Mcu.Pin25=VP_TIM1_VS_ClockSourceINT -Mcu.Pin26=VP_TIM1_VS_no_output2 -Mcu.Pin27=VP_TIM2_VS_ClockSourceINT -Mcu.Pin28=VP_TIM2_VS_no_output1 +Mcu.Pin20=PA15 +Mcu.Pin21=PB3 +Mcu.Pin22=PB4 +Mcu.Pin23=PB5 +Mcu.Pin24=PB6 +Mcu.Pin25=PB7 +Mcu.Pin26=VP_SYS_VS_Systick +Mcu.Pin27=VP_TIM1_VS_ClockSourceINT +Mcu.Pin28=VP_TIM1_VS_no_output2 +Mcu.Pin29=VP_TIM2_VS_ClockSourceINT Mcu.Pin3=PA2 +Mcu.Pin30=VP_TIM14_VS_ClockSourceINT Mcu.Pin4=PA3 Mcu.Pin5=PA4 Mcu.Pin6=PA5 Mcu.Pin7=PA6 Mcu.Pin8=PA7 Mcu.Pin9=PB0 -Mcu.PinsNb=29 +Mcu.PinsNb=31 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32G071KBTx -MxCube.Version=6.8.1 -MxDb.Version=DB.6.0.81 +MxCube.Version=6.9.0 +MxDb.Version=DB.6.0.90 NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false @@ -112,7 +115,7 @@ NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true NVIC.SysTick_IRQn=true\:3\:0\:false\:false\:true\:false\:true\:false -NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true +NVIC.TIM14_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.USART3_4_LPUART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true PA0.GPIOParameters=GPIO_Label PA0.GPIO_Label=IMess @@ -124,6 +127,10 @@ PA1.GPIO_Label=UMess PA1.Locked=true PA1.Mode=IN1 PA1.Signal=ADC1_IN1 +PA10.GPIOParameters=GPIO_Label +PA10.GPIO_Label=LED +PA10.Locked=true +PA10.Signal=GPIO_Output PA11\ [PA9].Locked=true PA11\ [PA9].Mode=I2C PA11\ [PA9].Signal=I2C2_SCL @@ -136,6 +143,11 @@ PA13.Signal=SYS_SWDIO PA14-BOOT0.Locked=true PA14-BOOT0.Mode=Serial_Wire PA14-BOOT0.Signal=SYS_SWCLK +PA15.GPIOParameters=GPIO_PuPd,GPIO_Label +PA15.GPIO_Label=Fan_Speed +PA15.GPIO_PuPd=GPIO_PULLUP +PA15.Locked=true +PA15.Signal=S_TIM2_CH1_ETR PA2.Locked=true PA2.Mode=Asynchronous PA2.Signal=LPUART1_TX @@ -235,8 +247,10 @@ ProjectManager.RegisterCallBack= ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=STM32CubeIDE ProjectManager.ToolChainLocation= +ProjectManager.UAScriptAfterPath= +ProjectManager.UAScriptBeforePath= ProjectManager.UnderRoot=true -ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_DMA_Init-DMA-false-LL-true,4-MX_ADC1_Init-ADC1-false-LL-true,5-MX_DAC1_Init-DAC1-false-LL-true,6-MX_LPUART1_UART_Init-LPUART1-false-LL-true,7-MX_TIM1_Init-TIM1-false-LL-true,8-MX_I2C2_Init-I2C2-false-LL-true,9-MX_TIM2_Init-TIM2-false-LL-true,10-MX_TIM3_Init-TIM3-false-LL-true +ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_DMA_Init-DMA-false-LL-true,4-MX_ADC1_Init-ADC1-false-LL-true,5-MX_DAC1_Init-DAC1-false-LL-true,6-MX_LPUART1_UART_Init-LPUART1-false-LL-true,7-MX_TIM1_Init-TIM1-false-LL-true,8-MX_I2C2_Init-I2C2-false-LL-true,9-MX_TIM2_Init-TIM2-false-LL-true,10-MX_TIM3_Init-TIM3-false-LL-true,11-MX_TIM14_Init-TIM14-false-LL-true RCC.ADCFreq_Value=64000000 RCC.AHBFreq_Value=64000000 RCC.APBFreq_Value=64000000 @@ -277,19 +291,25 @@ SH.COMP_DAC11_group.0=DAC1_OUT1,DAC_OUT1 SH.COMP_DAC11_group.ConfNb=1 SH.COMP_DAC12_group.0=DAC1_OUT2,DAC_OUT2 SH.COMP_DAC12_group.ConfNb=1 +SH.S_TIM2_CH1_ETR.0=TIM2_CH1,Input_Capture1_from_TI1 +SH.S_TIM2_CH1_ETR.ConfNb=1 SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1 SH.S_TIM3_CH1.ConfNb=1 TIM1.Channel-Output\ Compare2\ No\ Output=TIM_CHANNEL_2 TIM1.IPParameters=TIM_MasterOutputTrigger2,Channel-Output Compare2 No Output,Prescaler TIM1.Prescaler=64 TIM1.TIM_MasterOutputTrigger2=TIM_TRGO2_UPDATE -TIM2.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE -TIM2.Channel-Output\ Compare1\ No\ Output=TIM_CHANNEL_1 -TIM2.ClockDivision=TIM_CLOCKDIVISION_DIV4 -TIM2.CounterMode=TIM_COUNTERMODE_DOWN -TIM2.IPParameters=Channel-Output Compare1 No Output,ClockDivision,CounterMode,Prescaler,Period,AutoReloadPreload -TIM2.Period=999 -TIM2.Prescaler=16 +TIM14.ClockDivision=TIM_CLOCKDIVISION_DIV4 +TIM14.IPParameters=ClockDivision,Prescaler,Period +TIM14.Period=999 +TIM14.Prescaler=15999 +TIM2.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_DISABLE +TIM2.Channel-Input_Capture1_from_TI1=TIM_CHANNEL_1 +TIM2.ClockDivision=TIM_CLOCKDIVISION_DIV1 +TIM2.CounterMode=TIM_COUNTERMODE_UP +TIM2.IPParameters=ClockDivision,CounterMode,Prescaler,Period,AutoReloadPreload,Channel-Input_Capture1_from_TI1 +TIM2.Period=0 +TIM2.Prescaler=0 TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM3.ClockDivision=TIM_CLOCKDIVISION_DIV1 TIM3.IPParameters=Channel-PWM Generation1 CH1,ClockDivision,Prescaler,Period,TIM_MasterOutputTrigger @@ -298,12 +318,13 @@ TIM3.Prescaler=0 TIM3.TIM_MasterOutputTrigger=TIM_TRGO_OC1 VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick +VP_TIM14_VS_ClockSourceINT.Mode=Enable_Timer +VP_TIM14_VS_ClockSourceINT.Signal=TIM14_VS_ClockSourceINT VP_TIM1_VS_ClockSourceINT.Mode=Internal VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT VP_TIM1_VS_no_output2.Mode=Output Compare2 No Output VP_TIM1_VS_no_output2.Signal=TIM1_VS_no_output2 VP_TIM2_VS_ClockSourceINT.Mode=Internal VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT -VP_TIM2_VS_no_output1.Mode=Output Compare1 No Output -VP_TIM2_VS_no_output1.Signal=TIM2_VS_no_output1 board=custom +isbadioc=false diff --git a/STM32G071KBTX_FLASH.ld b/STM32G071KBTX_FLASH.ld index a8d2920..fe85f67 100644 --- a/STM32G071KBTX_FLASH.ld +++ b/STM32G071KBTX_FLASH.ld @@ -6,8 +6,8 @@ ** @author : Auto-generated by STM32CubeIDE ** ** @brief : Linker script for STM32G071KBTx Device from STM32G0 series -** 128Kbytes FLASH -** 36Kbytes RAM +** 128KBytes FLASH +** 36KBytes RAM ** ** Set heap size, stack size and stack location according ** to application requirements. diff --git a/Source/ElektronischeLast.cpp b/Source/ElektronischeLast.cpp index 8a4b2cd..7b8c04e 100644 --- a/Source/ElektronischeLast.cpp +++ b/Source/ElektronischeLast.cpp @@ -7,6 +7,7 @@ #include <cstdint> #include <cstdio> +#include <cstdlib> #include <cinttypes> #include <stm32g0xx.h> #include "STM32G071KBT6.hpp" @@ -16,9 +17,17 @@ #include "serial.hpp" #include "PID.h" #include "FanControl.hpp" +#include "CLI.h" using namespace ElektronischeLast; +uint16_t set_solltrom (CLI_OutFunction pfvOutFunction, char *acCommands[], uint16_t u16ArgCount); + +static CLI_Command_t commands[] = +{ + { "isoll", "Zielstrom für Last", set_solltrom } +}; + static std::uint32_t i_soll = 0U; static PIDController pid = { @@ -35,9 +44,9 @@ static uint32_t dac_value; int main (void) { - __enable_irq(); serial_init(); + CLI_Init(commands, sizeof(commands)/sizeof(commands[0])); LED led = LED(500U); iDAC dac = iDAC(); iADC adc = iADC(); @@ -60,6 +69,26 @@ int main (void) dac.write(iDAC::CHANNEL_1, dac_value); fan.run(adc.get_temperature()); + + serial_cyclic(); } } } + +/** + * @brief Callback Function for Command Line + * @param [in] pfvOutFunction Function to Print Data to Output + * @param [in] acCommands array with char pointers to the different arguments + * @param [in] u16ArgCount number of Arguments + * @return 0 = don't recall, 1 = call again + */ +uint16_t set_solltrom (CLI_OutFunction pfvOutFunction, char *acCommands[], uint16_t u16ArgCount) +{ + char buf[40]; + uint32_t in = strtoul(acCommands[0], NULL, 10); + uint32_t cur = i_soll; + snprintf(buf, sizeof(buf), "Aktueller Soll-Strom: %" PRIu32 ", Neu: %" PRIu32, cur, in); + pfvOutFunction(buf); + i_soll = in; + return 0; +} diff --git a/Source/FanControl.cpp b/Source/FanControl.cpp index 87b90c2..b0d202a 100644 --- a/Source/FanControl.cpp +++ b/Source/FanControl.cpp @@ -10,10 +10,23 @@ #include <stm32g0xx_ll_tim.h> #include "FanControl.hpp" +static std::uint32_t fan_speed; + +extern "C" void TIM14_IRQHandler(void) +{ + LL_TIM_ClearFlag_UPDATE(TIM14); + + fan_speed = LL_TIM_GetCounter(TIM2) / 2UL; + LL_TIM_SetCounter(TIM2, 0UL); +} + namespace ElektronischeLast { FanControl::FanControl(void) { + /* TIM3 PWM-Output + * 25kHz (Vorgabe Intel). Geschwindigkeit wird über Tastverhältnis geregelt. + */ LL_TIM_InitTypeDef TIM_InitStruct = { .Prescaler = 0UL, .CounterMode = LL_TIM_COUNTERMODE_UP, @@ -36,9 +49,33 @@ namespace ElektronischeLast LL_TIM_SetTriggerOutput(TIM3, LL_TIM_TRGO_RESET); LL_TIM_DisableMasterSlaveMode(TIM3); - /**TIM3 GPIO Configuration - PC6 ------> TIM3_CH1 - */ + /* TIM2 Input Capture zur Messung der Geschwindigkeit. + */ + TIM_InitStruct.Prescaler = 0; + TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + TIM_InitStruct.Autoreload = 0; + TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; + LL_TIM_Init(TIM2, &TIM_InitStruct); + LL_TIM_DisableARRPreload(TIM2); + LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_INTERNAL); + LL_TIM_SetTriggerOutput(TIM2, LL_TIM_TRGO_RESET); + LL_TIM_DisableMasterSlaveMode(TIM2); + LL_TIM_IC_SetActiveInput(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_ACTIVEINPUT_DIRECTTI); + LL_TIM_IC_SetPrescaler(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_ICPSC_DIV1); + LL_TIM_IC_SetFilter(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_IC_FILTER_FDIV1); + LL_TIM_IC_SetPolarity(TIM2, LL_TIM_CHANNEL_CH1, LL_TIM_IC_POLARITY_RISING); + + /* TIM14 1s ISR */ + TIM_InitStruct.Prescaler = 15999; + TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + TIM_InitStruct.Autoreload = 999; + TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV4; + LL_TIM_Init(TIM14, &TIM_InitStruct); + LL_TIM_DisableARRPreload(TIM14); + + /* TIM3 GPIO Configuration + * PC6 ------> TIM3_CH1 + */ LL_GPIO_InitTypeDef GPIO_InitStruct = { .Pin = LL_GPIO_PIN_6, .Mode = LL_GPIO_MODE_ALTERNATE, @@ -48,10 +85,20 @@ namespace ElektronischeLast .Alternate = LL_GPIO_AF_1, }; LL_GPIO_Init(GPIOC, &GPIO_InitStruct); + /*T IM2 GPIO Configuration + * PA15 ------> TIM2_CH1 + */ + GPIO_InitStruct.Pin = LL_GPIO_PIN_15; + GPIO_InitStruct.Pull = LL_GPIO_PULL_UP; + GPIO_InitStruct.Alternate = LL_GPIO_AF_2; + LL_GPIO_Init(GPIOA, &GPIO_InitStruct); LL_TIM_EnableCounter(TIM3); this->compare_value = 0UL; + + NVIC_SetPriority(TIM14_IRQn, 0); + NVIC_EnableIRQ(TIM14_IRQn); } void FanControl::run(std::uint32_t temp) diff --git a/Source/STM32G071KBT6.cpp b/Source/STM32G071KBT6.cpp index 1525d13..80b1976 100644 --- a/Source/STM32G071KBT6.cpp +++ b/Source/STM32G071KBT6.cpp @@ -170,7 +170,7 @@ extern "C" void TIM2_IRQHandler(void){} /* TIM2 extern "C" void TIM3_IRQHandler(void){} /* TIM3 */ extern "C" void TIM6_DAC_LPTIM1_IRQHandler(void){} /* TIM6, DAC and LPTIM1 */ extern "C" void TIM7_LPTIM2_IRQHandler(void){} /* TIM7 and LPTIM2 */ -extern "C" void TIM14_IRQHandler(void){} /* TIM14 */ + extern "C" void TIM15_IRQHandler(void){} /* TIM15 */ extern "C" void TIM16_IRQHandler(void){} /* TIM16 */ extern "C" void TIM17_IRQHandler(void){} /* TIM17 */ @@ -247,8 +247,10 @@ extern "C" void SystemInit(void) LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOC); LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_LPUART1); LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC); - LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1); LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_DMA1); LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_DAC1); + LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1); + LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2); LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3); + LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM14); } diff --git a/Source/serial.cpp b/Source/serial.cpp index ff4ce71..0dfd5fb 100644 --- a/Source/serial.cpp +++ b/Source/serial.cpp @@ -6,10 +6,14 @@ */ #include <cstdint> +#include <cstdio> #include <sys/stat.h> +#include <CLI.h> #include <stm32g0xx_ll_gpio.h> #include "stm32g0xx_ll_lpuart.h" +static char new_char = '\0'; + extern "C" int _write(int file, char *ptr, int len) { (void)file; @@ -73,7 +77,7 @@ extern "C" void USART3_4_LPUART1_IRQHandler(void) { if(LL_LPUART_IsActiveFlag_RXNE_RXFNE(LPUART1)) { - + new_char = LL_LPUART_ReceiveData8(LPUART1); } } @@ -114,6 +118,7 @@ extern "C" void serial_init(void) LL_LPUART_EnableFIFO(LPUART1); LL_LPUART_Enable(LPUART1); + LL_LPUART_EnableIT_RXNE_RXFNE(LPUART1); /* LPUART1 interrupt Init */ NVIC_SetPriority(USART3_4_LPUART1_IRQn, 2); @@ -123,4 +128,13 @@ extern "C" void serial_init(void) while((!(LL_LPUART_IsActiveFlag_TEACK(LPUART1))) || (!(LL_LPUART_IsActiveFlag_REACK(LPUART1)))) { } + + setbuf(stdout, NULL); +} + +extern "C" void serial_cyclic(void) +{ + char c = new_char; + new_char = '\0'; + CLI_CylicFunction(c); } diff --git a/Source/serial.hpp b/Source/serial.hpp index 451a7b9..ea669ca 100644 --- a/Source/serial.hpp +++ b/Source/serial.hpp @@ -9,5 +9,6 @@ #define SERIAL_HPP_ extern "C" void serial_init(void); +extern "C" void serial_cyclic(void); #endif /* SERIAL_HPP_ */