فهرست منبع

Modification du soft

CLUZE Remy -EXT 6 سال پیش
والد
کامیت
08fe58b7e6

+ 637 - 247
Soft/STM32/Controle/.cproject

@@ -1,319 +1,709 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 4.0.0?>
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
 	<storageModule moduleId="org.eclipse.cdt.core.settings">
-		<cconfiguration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628" moduleId="org.eclipse.cdt.core.settings" name="Debug">
-				<externalSettings/>
+		<cconfiguration
+			id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628">
+			<storageModule
+				buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider"
+				id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628"
+				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"/>
+					<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="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628" name="Debug" parent="fr.ac6.managedbuild.config.gnu.cross.exe.debug" postannouncebuildStep="Generating hex and Printing size information:" postbuildStep="arm-none-eabi-objcopy -O ihex &quot;${BuildArtifactFileBaseName}.elf&quot; &quot;${BuildArtifactFileBaseName}.hex&quot; &amp;&amp; arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;">
-					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628." name="/" resourcePath="">
-						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.1903561822" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug">
-							<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix" useByScannerDiscovery="false" value="arm-none-eabi-" valueType="string"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" useByScannerDiscovery="false" value="STM32F401RCTx" valueType="string"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.board.375536696" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" useByScannerDiscovery="false" value="Controle" valueType="string"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614" name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core" useByScannerDiscovery="false" valueType="stringList">
-								<listOptionValue builtIn="false" value="ARM Cortex-M4"/>
-								<listOptionValue builtIn="false" value="CM4"/>
+				<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="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628" name="Debug"
+					parent="fr.ac6.managedbuild.config.gnu.cross.exe.debug"
+					postannouncebuildStep="Generating hex and Printing size information:"
+					postbuildStep="arm-none-eabi-objcopy -O ihex &quot;${BuildArtifactFileBaseName}.elf&quot; &quot;${BuildArtifactFileBaseName}.hex&quot; &amp;&amp; arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;">
+					<folderInfo
+						id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628."
+						name="/" resourcePath="">
+						<toolChain
+							id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.1903561822"
+							name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug">
+							<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625"
+								name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix"
+								useByScannerDiscovery="false" value="arm-none-eabi-" valueType="string" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401"
+								name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu"
+								useByScannerDiscovery="false" value="STM32F401RCTx" valueType="string" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.board.375536696"
+								name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board"
+								useByScannerDiscovery="false" value="Controle" valueType="string" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614"
+								name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core"
+								useByScannerDiscovery="false" valueType="stringList">
+								<listOptionValue builtIn="false" value="ARM Cortex-M4" />
+								<listOptionValue builtIn="false" value="CM4" />
 							</option>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.instructionSet.thumbII" valueType="enumerated"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1365945706" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
-							<builder buildPath="${workspace_loc:/Controle}/Debug" id="fr.ac6.managedbuild.builder.gnu.cross.1362994268" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="fr.ac6.managedbuild.builder.gnu.cross">
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957"
+								name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet"
+								useByScannerDiscovery="false"
+								value="fr.ac6.managedbuild.option.gnu.cross.instructionSet.thumbII"
+								valueType="enumerated" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567"
+								name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu"
+								useByScannerDiscovery="false"
+								value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16"
+								valueType="enumerated" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507"
+								name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi"
+								useByScannerDiscovery="false"
+								value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard"
+								valueType="enumerated" />
+							<targetPlatform archList="all"
+								binaryParser="org.eclipse.cdt.core.ELF"
+								id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1365945706"
+								isAbstract="false" osList="all"
+								superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross" />
+							<builder buildPath="${workspace_loc:/Controle}/Debug"
+								id="fr.ac6.managedbuild.builder.gnu.cross.1362994268"
+								keepEnvironmentInBuildfile="false" managedBuildOn="true"
+								name="Gnu Make Builder" superClass="fr.ac6.managedbuild.builder.gnu.cross">
 								<outputEntries>
-									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
+									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath"
+										name="Debug" />
 								</outputEntries>
 							</builder>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
-								<option defaultValue="gnu.c.optimization.level.none" id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1092350335" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.none" valueType="enumerated"/>
-								<option id="gnu.c.compiler.option.debugging.level.1430076330" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
-								<option id="gnu.c.compiler.option.include.paths.1619885247" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="&quot;C:\Users\e_rcluze\Documents\Autres\projet\DriverSTM_RC\Include&quot;"/>
-									<listOptionValue builtIn="false" value="../Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225"
+								name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
+								<option defaultValue="gnu.c.optimization.level.none"
+									id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1092350335"
+									name="Optimization Level"
+									superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level"
+									useByScannerDiscovery="false"
+									value="fr.ac6.managedbuild.gnu.c.optimization.level.none"
+									valueType="enumerated" />
+								<option id="gnu.c.compiler.option.debugging.level.1430076330"
+									name="Debug Level" superClass="gnu.c.compiler.option.debugging.level"
+									useByScannerDiscovery="false" value="gnu.c.debugging.level.max"
+									valueType="enumerated" />
+								<option id="gnu.c.compiler.option.include.paths.1619885247"
+									name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths"
+									useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false"
+										value="&quot;C:\Users\e_rcluze\Documents\Autres\projet\DriverSTM_RC\Include&quot;" />
+									<listOptionValue builtIn="false" value="../Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/include" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Include" />
 								</option>
-								<option id="gnu.c.compiler.option.preprocessor.def.symbols.1476141494" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="__weak=__attribute__((weak))"/>
-									<listOptionValue builtIn="false" value="__packed=__attribute__((__packed__))"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32F401xC"/>
+								<option
+									id="gnu.c.compiler.option.preprocessor.def.symbols.1476141494"
+									name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols"
+									useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false"
+										value="__weak=__attribute__((weak))" />
+									<listOptionValue builtIn="false"
+										value="__packed=__attribute__((__packed__))" />
+									<listOptionValue builtIn="false" value="USE_HAL_DRIVER" />
+									<listOptionValue builtIn="false" value="STM32F401xC" />
 								</option>
-								<option id="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other.647738561" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0" valueType="string"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1121991044" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1958228759" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
+								<option
+									id="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other.647738561"
+									superClass="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other"
+									useByScannerDiscovery="false" value="-fmessage-length=0"
+									valueType="string" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1121991044"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1958228759"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s" />
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
-								<option defaultValue="gnu.cpp.optimization.level.none" id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1961525690" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.cpp.optimization.level.debug" valueType="enumerated"/>
-								<option id="gnu.cpp.compiler.option.debugging.level.1221537653" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
-								<option id="gnu.cpp.compiler.option.include.paths.353383271" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
+							<tool
+								id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743"
+								name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
+								<option defaultValue="gnu.cpp.optimization.level.none"
+									id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1961525690"
+									name="Optimization Level"
+									superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level"
+									useByScannerDiscovery="false"
+									value="fr.ac6.managedbuild.gnu.cpp.optimization.level.debug"
+									valueType="enumerated" />
+								<option id="gnu.cpp.compiler.option.debugging.level.1221537653"
+									name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level"
+									useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max"
+									valueType="enumerated" />
+								<option id="gnu.cpp.compiler.option.include.paths.353383271"
+									name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths"
+									useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/include" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Include" />
 								</option>
-								<option id="gnu.cpp.compiler.option.preprocessor.def.325372042" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="__weak=__attribute__((weak))"/>
-									<listOptionValue builtIn="false" value="__packed=__attribute__((__packed__))"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32F401xC"/>
+								<option id="gnu.cpp.compiler.option.preprocessor.def.325372042"
+									name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def"
+									useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false"
+										value="__weak=__attribute__((weak))" />
+									<listOptionValue builtIn="false"
+										value="__packed=__attribute__((__packed__))" />
+									<listOptionValue builtIn="false" value="USE_HAL_DRIVER" />
+									<listOptionValue builtIn="false" value="STM32F401xC" />
 								</option>
-								<option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other.491293585" name="Other flags" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0" valueType="string"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp.1530769045" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s.715107063" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s"/>
+								<option
+									id="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other.491293585"
+									name="Other flags" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other"
+									useByScannerDiscovery="false" value="-fmessage-length=0"
+									valueType="string" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp.1530769045"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s.715107063"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s" />
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
-								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.87965815" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" useByScannerDiscovery="false" value="../STM32F401RCTx_FLASH.ld" valueType="string"/>
-								<option id="gnu.c.link.option.libs.1373616362" name="Libraries (-l)" superClass="gnu.c.link.option.libs" useByScannerDiscovery="false"/>
-								<option id="gnu.c.link.option.paths.70222859" name="Library search path (-L)" superClass="gnu.c.link.option.paths" useByScannerDiscovery="false"/>
-								<option id="gnu.c.link.option.ldflags.715367124" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="-specs=nosys.specs -specs=nano.specs" valueType="string"/>
-								<option id="gnu.c.link.option.other.2046912267" name="Other options (-Xlinker [option])" superClass="gnu.c.link.option.other" useByScannerDiscovery="false"/>
-								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.996137722" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372"
+								name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
+								<option
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.87965815"
+									name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script"
+									useByScannerDiscovery="false" value="../STM32F401RCTx_FLASH.ld"
+									valueType="string" />
+								<option id="gnu.c.link.option.libs.1373616362" name="Libraries (-l)"
+									superClass="gnu.c.link.option.libs" useByScannerDiscovery="false" />
+								<option id="gnu.c.link.option.paths.70222859" name="Library search path (-L)"
+									superClass="gnu.c.link.option.paths" useByScannerDiscovery="false" />
+								<option id="gnu.c.link.option.ldflags.715367124" name="Linker flags"
+									superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false"
+									value="-specs=nosys.specs -specs=nano.specs" valueType="string" />
+								<option id="gnu.c.link.option.other.2046912267" name="Other options (-Xlinker [option])"
+									superClass="gnu.c.link.option.other" useByScannerDiscovery="false" />
+								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.996137722"
+									superClass="cdt.managedbuild.tool.gnu.c.linker.input">
+									<additionalInput kind="additionalinputdependency"
+										paths="$(USER_OBJS)" />
+									<additionalInput kind="additionalinput" paths="$(LIBS)" />
 								</inputType>
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker">
-								<option id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script.1436703491" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script" value="../STM32F401RCTx_FLASH.ld" valueType="string"/>
-								<option id="gnu.cpp.link.option.libs.642001861" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>
-								<option id="gnu.cpp.link.option.paths.316355935" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths"/>
-								<option id="gnu.cpp.link.option.flags.1696829217" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-specs=nosys.specs -specs=nano.specs" valueType="string"/>
-								<option id="gnu.cpp.link.option.other.986261095" name="Other options (-Xlinker [option])" superClass="gnu.cpp.link.option.other" useByScannerDiscovery="false"/>
-								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.721700511" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142"
+								name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker">
+								<option
+									id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script.1436703491"
+									name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script"
+									value="../STM32F401RCTx_FLASH.ld" valueType="string" />
+								<option id="gnu.cpp.link.option.libs.642001861" name="Libraries (-l)"
+									superClass="gnu.cpp.link.option.libs" />
+								<option id="gnu.cpp.link.option.paths.316355935" name="Library search path (-L)"
+									superClass="gnu.cpp.link.option.paths" />
+								<option id="gnu.cpp.link.option.flags.1696829217" name="Linker flags"
+									superClass="gnu.cpp.link.option.flags" value="-specs=nosys.specs -specs=nano.specs"
+									valueType="string" />
+								<option id="gnu.cpp.link.option.other.986261095" name="Other options (-Xlinker [option])"
+									superClass="gnu.cpp.link.option.other" useByScannerDiscovery="false" />
+								<inputType
+									id="cdt.managedbuild.tool.gnu.cpp.linker.input.721700511"
+									superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+									<additionalInput kind="additionalinputdependency"
+										paths="$(USER_OBJS)" />
+									<additionalInput kind="additionalinput" paths="$(LIBS)" />
 								</inputType>
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1110335707" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.1644446420" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler">
-								<option id="gnu.both.asm.option.include.paths.787742405" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" useByScannerDiscovery="false"/>
-								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1841245959" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1812526727" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1110335707"
+								name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.1644446420"
+								name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler">
+								<option id="gnu.both.asm.option.include.paths.787742405"
+									name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths"
+									useByScannerDiscovery="false" />
+								<inputType
+									id="cdt.managedbuild.tool.gnu.assembler.input.1841245959"
+									superClass="cdt.managedbuild.tool.gnu.assembler.input" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1812526727"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input" />
 							</tool>
 						</toolChain>
 					</folderInfo>
-					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628.1072813479" name="/" resourcePath="DriverSTM_RC">
-						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.2094051756" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug" unusedChildren="">
-							<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625.1129409001" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401.1139776047" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.board.375536696.1055122571" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board.375536696"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614.174477813" name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core.1083960614"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957.1924417483" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567.321365980" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507.212439019" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1955112254" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225">
-								<option id="gnu.c.compiler.option.include.paths.598672550" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="&quot;C:\Users\e_rcluze\Documents\Autres\projet\DriverSTM_RC\Include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;C:\Users\e_rcluze\Documents\Autres\projet\DriverSTM_RC\Include&quot;"/>
-									<listOptionValue builtIn="false" value="../Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
+					<folderInfo
+						id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628.1072813479"
+						name="/" resourcePath="DriverSTM_RC">
+						<toolChain
+							id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.2094051756"
+							name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug"
+							unusedChildren="">
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625.1129409001"
+								name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401.1139776047"
+								name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401"
+								value="STM32F401RCTx" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.board.375536696.1055122571"
+								name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board.375536696"
+								value="Controle" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614.174477813"
+								name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core.1083960614" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957.1924417483"
+								name="Instruction Set"
+								superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567.321365980"
+								name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507.212439019"
+								name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1955112254"
+								name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225">
+								<option id="gnu.c.compiler.option.include.paths.598672550"
+									superClass="gnu.c.compiler.option.include.paths"
+									useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false"
+										value="&quot;C:\Users\e_rcluze\Documents\Autres\projet\DriverSTM_RC\Include&quot;" />
+									<listOptionValue builtIn="false"
+										value="&quot;C:\Users\e_rcluze\Documents\Autres\projet\DriverSTM_RC\Include&quot;" />
+									<listOptionValue builtIn="false" value="../Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/include" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Include" />
 								</option>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.646474139" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1544990721" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.646474139"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1544990721"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s" />
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.740575990" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.1739308829" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.1685878982" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.97952842" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver.1110335707"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.856437560" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.1644446420">
-								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.101649444" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1220923294" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.740575990"
+								name="MCU G++ Compiler"
+								superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.1739308829"
+								name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.1685878982"
+								name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.97952842"
+								name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver.1110335707" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.856437560"
+								name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.1644446420">
+								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.101649444"
+									superClass="cdt.managedbuild.tool.gnu.assembler.input" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1220923294"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input" />
 							</tool>
 						</toolChain>
 					</folderInfo>
-					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628.1483617142" name="/" resourcePath="Inc">
-						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.1013828548" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug" unusedChildren="">
-							<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625.454030241" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401.966265981" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.board.375536696.617271612" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board.375536696"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614.999376953" name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core.1083960614"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957.945780808" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567.289793162" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507.631565781" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.324924676" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225">
-								<option id="gnu.c.compiler.option.debugging.level.1915072249" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.995205725" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1012001863" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
+					<folderInfo
+						id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628.1483617142"
+						name="/" resourcePath="Inc">
+						<toolChain
+							id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.1013828548"
+							name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug"
+							unusedChildren="">
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625.454030241"
+								name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401.966265981"
+								name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401"
+								value="STM32F401RCTx" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.board.375536696.617271612"
+								name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board.375536696"
+								value="Controle" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614.999376953"
+								name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core.1083960614" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957.945780808"
+								name="Instruction Set"
+								superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567.289793162"
+								name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567" />
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507.631565781"
+								name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507" />
+							<targetPlatform archList="all"
+								binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross"
+								isAbstract="false" osList="all"
+								superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.324924676"
+								name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225">
+								<option id="gnu.c.compiler.option.debugging.level.1915072249"
+									name="Debug Level" superClass="gnu.c.compiler.option.debugging.level"
+									useByScannerDiscovery="false" value="gnu.c.debugging.level.max"
+									valueType="enumerated" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.995205725"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1012001863"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s" />
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.920317037" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.302406712" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.57506886" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1043844351" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver.1110335707"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.489046409" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.1644446420">
-								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1322052202" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1064623648" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.920317037"
+								name="MCU G++ Compiler"
+								superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.302406712"
+								name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.57506886"
+								name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1043844351"
+								name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver.1110335707" />
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.489046409"
+								name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.1644446420">
+								<inputType
+									id="cdt.managedbuild.tool.gnu.assembler.input.1322052202"
+									superClass="cdt.managedbuild.tool.gnu.assembler.input" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1064623648"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input" />
 							</tool>
 						</toolChain>
 					</folderInfo>
 					<sourceEntries>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="DriverSTM_RC"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Inc"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="startup"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="DriverSTM_RC" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Drivers" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Inc" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Middlewares" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Src" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="startup" />
 					</sourceEntries>
 				</configuration>
 			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings" />
 		</cconfiguration>
-		<cconfiguration id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415" moduleId="org.eclipse.cdt.core.settings" name="Release">
-				<externalSettings/>
+		<cconfiguration
+			id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415">
+			<storageModule
+				buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider"
+				id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415"
+				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"/>
+					<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="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415" name="Release" parent="fr.ac6.managedbuild.config.gnu.cross.exe.release" postannouncebuildStep="Generating hex and Printing size information:" postbuildStep="arm-none-eabi-objcopy -O ihex &quot;${BuildArtifactFileBaseName}.elf&quot; &quot;${BuildArtifactFileBaseName}.hex&quot; &amp;&amp; arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;">
-					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415." name="/" resourcePath="">
-						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.release.698123587" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.release">
-							<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix" value="arm-none-eabi-" valueType="string"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" value="STM32F401RCTx" valueType="string"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.board.375536696" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" value="Controle" valueType="string"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614" name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core" valueType="stringList">
-								<listOptionValue builtIn="false" value="ARM Cortex-M4"/>
-								<listOptionValue builtIn="false" value="CM4"/>
+				<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="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415"
+					name="Release" parent="fr.ac6.managedbuild.config.gnu.cross.exe.release"
+					postannouncebuildStep="Generating hex and Printing size information:"
+					postbuildStep="arm-none-eabi-objcopy -O ihex &quot;${BuildArtifactFileBaseName}.elf&quot; &quot;${BuildArtifactFileBaseName}.hex&quot; &amp;&amp; arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;">
+					<folderInfo
+						id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415."
+						name="/" resourcePath="">
+						<toolChain
+							id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.release.698123587"
+							name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.release">
+							<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1134037625"
+								name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix"
+								value="arm-none-eabi-" valueType="string" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1786405401"
+								name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu"
+								value="STM32F401RCTx" valueType="string" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.board.375536696"
+								name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board"
+								value="Controle" valueType="string" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.core.1083960614"
+								name="Core" superClass="fr.ac6.managedbuild.option.gnu.cross.core"
+								valueType="stringList">
+								<listOptionValue builtIn="false" value="ARM Cortex-M4" />
+								<listOptionValue builtIn="false" value="CM4" />
 							</option>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet" value="fr.ac6.managedbuild.option.gnu.cross.instructionSet.thumbII" valueType="enumerated"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
-							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1365945706" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
-							<builder buildPath="${workspace_loc:/Controle}/Release" id="fr.ac6.managedbuild.builder.gnu.cross.1362994268" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="fr.ac6.managedbuild.builder.gnu.cross">
+							<option
+								id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1278913957"
+								name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet"
+								value="fr.ac6.managedbuild.option.gnu.cross.instructionSet.thumbII"
+								valueType="enumerated" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.724348567"
+								name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu"
+								value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16"
+								valueType="enumerated" />
+							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.406296507"
+								name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi"
+								value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard"
+								valueType="enumerated" />
+							<targetPlatform archList="all"
+								binaryParser="org.eclipse.cdt.core.ELF"
+								id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1365945706"
+								isAbstract="false" osList="all"
+								superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross" />
+							<builder buildPath="${workspace_loc:/Controle}/Release"
+								id="fr.ac6.managedbuild.builder.gnu.cross.1362994268"
+								keepEnvironmentInBuildfile="false" managedBuildOn="true"
+								name="Gnu Make Builder" superClass="fr.ac6.managedbuild.builder.gnu.cross">
 								<outputEntries>
-									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
+									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath"
+										name="Release" />
 								</outputEntries>
 							</builder>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
-								<option defaultValue="gnu.c.optimization.level.none" id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1092350335" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.debug" valueType="enumerated"/>
-								<option id="gnu.c.compiler.option.debugging.level.1430076330" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
-								<option id="gnu.c.compiler.option.include.paths.1619885247" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.586945225"
+								name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
+								<option defaultValue="gnu.c.optimization.level.none"
+									id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1092350335"
+									name="Optimization Level"
+									superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level"
+									useByScannerDiscovery="false"
+									value="fr.ac6.managedbuild.gnu.c.optimization.level.debug"
+									valueType="enumerated" />
+								<option id="gnu.c.compiler.option.debugging.level.1430076330"
+									name="Debug Level" superClass="gnu.c.compiler.option.debugging.level"
+									useByScannerDiscovery="false" value="gnu.c.debugging.level.max"
+									valueType="enumerated" />
+								<option id="gnu.c.compiler.option.include.paths.1619885247"
+									name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths"
+									useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/include" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Include" />
 								</option>
-								<option id="gnu.c.compiler.option.preprocessor.def.symbols.1476141494" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="__weak=__attribute__((weak))"/>
-									<listOptionValue builtIn="false" value="__packed=__attribute__((__packed__))"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32F401xC"/>
+								<option
+									id="gnu.c.compiler.option.preprocessor.def.symbols.1476141494"
+									name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols"
+									useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false"
+										value="__weak=__attribute__((weak))" />
+									<listOptionValue builtIn="false"
+										value="__packed=__attribute__((__packed__))" />
+									<listOptionValue builtIn="false" value="USE_HAL_DRIVER" />
+									<listOptionValue builtIn="false" value="STM32F401xC" />
 								</option>
-								<option id="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other.647738561" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0" valueType="string"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1121991044" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1958228759" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
+								<option
+									id="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other.647738561"
+									superClass="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other"
+									useByScannerDiscovery="false" value="-fmessage-length=0"
+									valueType="string" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1121991044"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1958228759"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s" />
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
-								<option defaultValue="gnu.cpp.optimization.level.none" id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1961525690" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.cpp.optimization.level.debug" valueType="enumerated"/>
-								<option id="gnu.cpp.compiler.option.debugging.level.1221537653" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.debugging.level.max" valueType="enumerated"/>
-								<option id="gnu.cpp.compiler.option.include.paths.353383271" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"/>
-									<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
+							<tool
+								id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.2045706743"
+								name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
+								<option defaultValue="gnu.cpp.optimization.level.none"
+									id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1961525690"
+									name="Optimization Level"
+									superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level"
+									useByScannerDiscovery="false"
+									value="fr.ac6.managedbuild.gnu.cpp.optimization.level.debug"
+									valueType="enumerated" />
+								<option id="gnu.cpp.compiler.option.debugging.level.1221537653"
+									name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level"
+									useByScannerDiscovery="false" value="gnu.cpp.debugging.level.max"
+									valueType="enumerated" />
+								<option id="gnu.cpp.compiler.option.include.paths.353383271"
+									name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths"
+									useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/include" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" />
+									<listOptionValue builtIn="false"
+										value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include" />
+									<listOptionValue builtIn="false"
+										value="../Drivers/CMSIS/Include" />
 								</option>
-								<option id="gnu.cpp.compiler.option.preprocessor.def.symbols.23243605" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="__weak=__attribute__((weak))"/>
-									<listOptionValue builtIn="false" value="__packed=__attribute__((__packed__))"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32F401xC"/>
+								<option
+									id="gnu.cpp.compiler.option.preprocessor.def.symbols.23243605"
+									name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def.symbols"
+									useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false"
+										value="__weak=__attribute__((weak))" />
+									<listOptionValue builtIn="false"
+										value="__packed=__attribute__((__packed__))" />
+									<listOptionValue builtIn="false" value="USE_HAL_DRIVER" />
+									<listOptionValue builtIn="false" value="STM32F401xC" />
 								</option>
-								<option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other.491293585" name="Other flags" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0" valueType="string"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp.1530769045" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s.715107063" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s"/>
+								<option
+									id="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other.491293585"
+									name="Other flags" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.misc.other"
+									useByScannerDiscovery="false" value="-fmessage-length=0"
+									valueType="string" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp.1530769045"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.cpp" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s.715107063"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.input.s" />
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
-								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.87965815" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" value="../STM32F401RCTx_FLASH.ld" valueType="string"/>
-								<option id="gnu.c.link.option.libs.1373616362" name="Libraries (-l)" superClass="gnu.c.link.option.libs"/>
-								<option id="gnu.c.link.option.paths.70222859" name="Library search path (-L)" superClass="gnu.c.link.option.paths"/>
-								<option id="gnu.c.link.option.ldflags.715367124" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-specs=nosys.specs -specs=nano.specs" valueType="string"/>
-								<option id="gnu.c.link.option.other.2046912267" name="Other options (-Xlinker [option])" superClass="gnu.c.link.option.other" useByScannerDiscovery="false"/>
-								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.996137722" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.2018387372"
+								name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
+								<option
+									id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.87965815"
+									name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script"
+									value="../STM32F401RCTx_FLASH.ld" valueType="string" />
+								<option id="gnu.c.link.option.libs.1373616362" name="Libraries (-l)"
+									superClass="gnu.c.link.option.libs" />
+								<option id="gnu.c.link.option.paths.70222859" name="Library search path (-L)"
+									superClass="gnu.c.link.option.paths" />
+								<option id="gnu.c.link.option.ldflags.715367124" name="Linker flags"
+									superClass="gnu.c.link.option.ldflags" value="-specs=nosys.specs -specs=nano.specs"
+									valueType="string" />
+								<option id="gnu.c.link.option.other.2046912267" name="Other options (-Xlinker [option])"
+									superClass="gnu.c.link.option.other" useByScannerDiscovery="false" />
+								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.996137722"
+									superClass="cdt.managedbuild.tool.gnu.c.linker.input">
+									<additionalInput kind="additionalinputdependency"
+										paths="$(USER_OBJS)" />
+									<additionalInput kind="additionalinput" paths="$(LIBS)" />
 								</inputType>
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker">
-								<option id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script.1436703491" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script" value="../STM32F401RCTx_FLASH.ld" valueType="string"/>
-								<option id="gnu.cpp.link.option.libs.642001861" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>
-								<option id="gnu.cpp.link.option.paths.316355935" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths"/>
-								<option id="gnu.cpp.link.option.ldflags.1387043867" superClass="gnu.cpp.link.option.ldflags" value="-specs=nosys.specs -specs=nano.specs" valueType="string"/>
-								<option id="gnu.cpp.link.option.other.986261095" name="Other options (-Xlinker [option])" superClass="gnu.cpp.link.option.other" useByScannerDiscovery="false"/>
-								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.721700511" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.75010142"
+								name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker">
+								<option
+									id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script.1436703491"
+									name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.script"
+									value="../STM32F401RCTx_FLASH.ld" valueType="string" />
+								<option id="gnu.cpp.link.option.libs.642001861" name="Libraries (-l)"
+									superClass="gnu.cpp.link.option.libs" />
+								<option id="gnu.cpp.link.option.paths.316355935" name="Library search path (-L)"
+									superClass="gnu.cpp.link.option.paths" />
+								<option id="gnu.cpp.link.option.ldflags.1387043867"
+									superClass="gnu.cpp.link.option.ldflags" value="-specs=nosys.specs -specs=nano.specs"
+									valueType="string" />
+								<option id="gnu.cpp.link.option.other.986261095" name="Other options (-Xlinker [option])"
+									superClass="gnu.cpp.link.option.other" useByScannerDiscovery="false" />
+								<inputType
+									id="cdt.managedbuild.tool.gnu.cpp.linker.input.721700511"
+									superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+									<additionalInput kind="additionalinputdependency"
+										paths="$(USER_OBJS)" />
+									<additionalInput kind="additionalinput" paths="$(LIBS)" />
 								</inputType>
 							</tool>
-							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1110335707" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
-							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.exe.release.1012591557" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.exe.release">
-								<option id="gnu.both.asm.option.include.paths.787742405" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths"/>
-								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1841245959" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1812526727" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
+							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1110335707"
+								name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver" />
+							<tool
+								id="fr.ac6.managedbuild.tool.gnu.cross.assembler.exe.release.1012591557"
+								name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.exe.release">
+								<option id="gnu.both.asm.option.include.paths.787742405"
+									name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" />
+								<inputType
+									id="cdt.managedbuild.tool.gnu.assembler.input.1841245959"
+									superClass="cdt.managedbuild.tool.gnu.assembler.input" />
+								<inputType
+									id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1812526727"
+									superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input" />
 							</tool>
 						</toolChain>
 					</folderInfo>
 					<sourceEntries>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="startup"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Inc"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="startup" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Middlewares" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Drivers" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Src" />
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
+							name="Inc" />
 					</sourceEntries>
 				</configuration>
 			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings" />
 		</cconfiguration>
 	</storageModule>
 	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-		<project id="Controle.fr.ac6.managedbuild.target.gnu.cross.exe.1467643537" name="Executable" projectType="fr.ac6.managedbuild.target.gnu.cross.exe"/>
+		<project
+			id="Controle.fr.ac6.managedbuild.target.gnu.cross.exe.1467643537"
+			name="Executable" projectType="fr.ac6.managedbuild.target.gnu.cross.exe" />
 	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders" />
 	<storageModule moduleId="refreshScope" versionNumber="2">
 		<configuration configurationName="Debug">
-			<resource resourceType="PROJECT" workspacePath="Controle"/>
+			<resource resourceType="PROJECT" workspacePath="Controle" />
 		</configuration>
 		<configuration configurationName="Release">
-			<resource resourceType="PROJECT" workspacePath="/Controle"/>
+			<resource resourceType="PROJECT" workspacePath="/Controle" />
 		</configuration>
 	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
-	<storageModule moduleId="scannerConfiguration"/>
+	<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets" />
+	<storageModule moduleId="scannerConfiguration" />
 </cproject>

+ 2 - 2
Soft/STM32/Controle/.project

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
 	<name>Controle</name>
-	<comment></comment>
+	<comment />
 	<projects>
 	</projects>
 	<buildSpec>
@@ -28,7 +28,7 @@
 		<link>
 			<name>DriverSTM_RC</name>
 			<type>2</type>
-			<locationURI>PARENT-4-PROJECT_LOC/DriverSTM_RC</locationURI>
+			<location>PARENT-4-PROJECT_LOC/DriverSTM_RC</location>
 		</link>
 	</linkedResources>
 </projectDescription>

+ 36 - 14
Soft/STM32/Controle/.settings/language.settings.xml

@@ -1,24 +1,46 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <project>
-	<configuration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628" name="Debug">
+	<configuration
+		id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.745205628" 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 class="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector" console="false" env-hash="1628213276437617413" id="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="Ac6 SW4 STM32 MCU Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-				<language-scope id="org.eclipse.cdt.core.gcc"/>
-				<language-scope id="org.eclipse.cdt.core.g++"/>
+			<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 class="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector"
+				console="false" env-hash="1628213276437617413"
+				id="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector"
+				keep-relative-paths="false" name="Ac6 SW4 STM32 MCU Built-in Compiler Settings"
+				parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;"
+				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="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415" name="Release">
+	<configuration
+		id="fr.ac6.managedbuild.config.gnu.cross.exe.release.1973790415" 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 class="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector" console="false" env-hash="1628213276437617413" id="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="Ac6 SW4 STM32 MCU Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-				<language-scope id="org.eclipse.cdt.core.gcc"/>
-				<language-scope id="org.eclipse.cdt.core.g++"/>
+			<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 class="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector"
+				console="false" env-hash="1628213276437617413"
+				id="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector"
+				keep-relative-paths="false" name="Ac6 SW4 STM32 MCU Built-in Compiler Settings"
+				parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;"
+				prefer-non-shared="true">
+				<language-scope id="org.eclipse.cdt.core.gcc" />
+				<language-scope id="org.eclipse.cdt.core.g++" />
 			</provider>
 		</extension>
 	</configuration>

+ 4 - 4
Soft/STM32/Controle/Controle.ioc

@@ -116,9 +116,10 @@ PA3.GPIOParameters=GPIO_Label
 PA3.GPIO_Label=S2
 PA3.Locked=true
 PA3.Signal=S_TIM2_CH4
+PA4.GPIOParameters=GPIO_Label
+PA4.GPIO_Label=MYPIN
 PA4.Locked=true
-PA4.Mode=NSS_Signal_Hard_Input
-PA4.Signal=SPI1_NSS
+PA4.Signal=GPIO_Input
 PA5.Mode=Full_Duplex_Slave
 PA5.Signal=SPI1_SCK
 PA6.Mode=Full_Duplex_Slave
@@ -285,9 +286,8 @@ SH.S_TIM4_CH3.ConfNb=1
 SH.S_TIM4_CH4.0=TIM4_CH4,PWM Generation4 CH4
 SH.S_TIM4_CH4.ConfNb=1
 SPI1.Direction=SPI_DIRECTION_2LINES
-SPI1.IPParameters=VirtualType,Mode,Direction,VirtualNSS
+SPI1.IPParameters=VirtualType,Mode,Direction
 SPI1.Mode=SPI_MODE_SLAVE
-SPI1.VirtualNSS=VM_NSSHARD
 SPI1.VirtualType=VM_SLAVE
 TIM1.Channel-Output\ Compare1\ CH1N=TIM_CHANNEL_1
 TIM1.IPParameters=Channel-Output Compare1 CH1N

+ 6 - 6
Soft/STM32/Controle/Controle.xml

@@ -9,10 +9,10 @@
 <!ATTLIST board id CDATA #REQUIRED>
 ]>
 <targetDefinitions>
-  <board id="Controle">
-    <name>Controle</name>
-    <dbgIF>SWD</dbgIF>
-    <dbgDEV>ST-Link</dbgDEV>
-    <mcuId>stm32f401rctx</mcuId>
-  </board>
+	<board id="Controle">
+		<name>Controle</name>
+		<dbgIF>SWD</dbgIF>
+		<dbgDEV>ST-Link</dbgDEV>
+		<mcuId>stm32f401rctx</mcuId>
+	</board>
 </targetDefinitions>

+ 3 - 0
Soft/STM32/Controle/Inc/Comunication.h

@@ -13,6 +13,7 @@
 #define	WRITEVAL	0x60
 #define STOP		0x70
 #define RETABLIR	0x80
+#define SYNCRTC		0x90
 
 #define MASKID 0x07
 #define MASKTYPE 0x08
@@ -35,5 +36,7 @@ void Com_STOP(uint8_t* mes);
 
 void Com_Retablir(uint8_t* mes);
 
+void Com_SyncRTC(uint8_t* mes);
+
 #endif
 

+ 2 - 1
Soft/STM32/Controle/Inc/Tab.h

@@ -19,7 +19,8 @@ typedef struct {
 	Heure Extinxtion; //Heure de Déxtintion (en Minute)
 	uint8_t PuissanceMax; //Puissance Maximum (En pourcentage)
 	uint8_t Pente; //Pente (en Minute)
-	uint8_t Fonctionement; // si différent de 0 prend la main sur le tableau (Valeur en % ou 1 = 0 2 =1 etc...)
+	uint8_t Fonctionement; // si 0 fon ctionnement en mode tableau. SI 1 fonctionnement en mode slider
+	//TODO On peu envisager d'utiliser ce parametre en mode 2 pour faire une reprise
 
 }Sortie;
 

+ 3 - 0
Soft/STM32/Controle/Inc/main.h

@@ -89,6 +89,8 @@ void Error_Handler(void);
 #define S1_GPIO_Port GPIOA
 #define S2_Pin GPIO_PIN_3
 #define S2_GPIO_Port GPIOA
+#define MYPIN_Pin GPIO_PIN_4
+#define MYPIN_GPIO_Port GPIOA
 #define LED_rouge_Pin GPIO_PIN_4
 #define LED_rouge_GPIO_Port GPIOC
 #define LED_vert_Pin GPIO_PIN_5
@@ -118,6 +120,7 @@ void Error_Handler(void);
 /* USER CODE BEGIN Private defines */
 #define DELAYTIMER 	1000*60 	// une minute
 #define DELAYREAD	1000*60*10	// 10 minutes
+#define MAXRECEIVESPI 8
 
 /* USER CODE END Private defines */
 

+ 2 - 1
Soft/STM32/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c

@@ -903,7 +903,7 @@ osStatus osSemaphoreDelete (osSemaphoreId semaphore_id)
 
 #if (defined (osFeature_Pool)  &&  (osFeature_Pool != 0)) 
 
-
+//TODO
 //This is a primitive and inefficient wrapper around the existing FreeRTOS memory management.
 //A better implementation will have to modify heap_x.c!
 
@@ -1239,6 +1239,7 @@ osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id)
   /* Create a mail pool */
   (*(queue_def->cb))->pool = osPoolCreate(&pool_def);
   if ((*(queue_def->cb))->pool == NULL) {
+    //TODO: Delete queue. How to do it in FreeRTOS?
     vPortFree(*(queue_def->cb));
     return NULL;
   }

+ 27 - 3
Soft/STM32/Controle/Src/Comunication.c

@@ -2,6 +2,7 @@
 #include "spi.h"
 #include "Tab.h"
 #include "PWM.h"
+#include "Eeprom.h"
 
 uint8_t Com_dispactch(uint8_t* mes){
 	switch(mes[0]|MASKMES){
@@ -29,6 +30,9 @@ uint8_t Com_dispactch(uint8_t* mes){
 	case (RETABLIR):
 		Com_Retablir(mes);
 		return 0;
+	case (SYNCRTC):
+		Com_SyncRTC(mes);
+		return 0;
 	default:
 		return -1;//erreur
 	}
@@ -71,9 +75,17 @@ void Com_ERROR(uint8_t* mes){
 
 void Com_WriteVal(uint8_t* mes){
 	int i = mes[0] & 0x0F;
-	PWMSetDutyCycle(i,tabSortie[i].Fonctionement-1);
-	PWMStart(i);
-	tabSortie[i].Fonctionement=1;
+	if (mes[1]!=0){//Si on force avec le slider blynk (mes!=0) la valeur de l'allumage est la valeurs envoyer -1.
+		PWMSetDutyCycle(i,mes[1]-1);
+		tabSortie[i].Fonctionement=1;
+	}
+	else{//Si on remet le slider a 0 on reprend le fonctionnement normal imediatement.
+		Heure h;
+		readHeure(&h);
+		PWMSetDutyCycle(i,PWMPourcentage(&h,&tabSortie[i]));
+		tabSortie[i].Fonctionement=0;
+	}
+	PWMStart(i);// On demare la sortie
 }
 
 void Com_STOP(uint8_t* mes){
@@ -88,3 +100,15 @@ void Com_Retablir(uint8_t* mes){
 	for (int i = 0; i<10; i++)
 		tabSortie[i].Fonctionement=0;
 }
+
+void Com_SyncRTC(uint8_t* mes){
+	Date d;
+	d.annee=mes[1];
+	d.mois=mes[2];
+	d.jour=mes[3];
+	d.joursemaine=mes[4];
+	d.heure=mes[5];
+	d.minute=mes[6];
+	d.second=mes[7];
+	writeDate();
+}

+ 5 - 3
Soft/STM32/Controle/Src/freertos.c

@@ -61,6 +61,7 @@
 #include "RTC.h"
 #include "Tab.h"
 #include "Heure.h"
+#include "spi.h"
 /* USER CODE END Includes */
 
 /* Private typedef -----------------------------------------------------------*/
@@ -80,7 +81,7 @@
 
 /* Private variables ---------------------------------------------------------*/
 /* USER CODE BEGIN Variables */
-uint8_t Arret = 0;
+uint8_t t_SPIReceived[MAXRECEIVESPI];
 
 /* USER CODE END Variables */
 osThreadId TimerHandle;
@@ -103,6 +104,8 @@ void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
 void MX_FREERTOS_Init(void) {
   /* USER CODE BEGIN Init */
 	init();
+	HAL_SPI_Receive_IT(&hspi1,t_SPIReceived,1); // On demare la réception du spi.
+
   /* USER CODE END Init */
 
   /* USER CODE BEGIN RTOS_MUTEX */
@@ -149,8 +152,7 @@ void TimerTask(void const * argument)
 		readHeure(&heu);
 		for (int i=0; i<10;i++){
 			if (tabSortie[i].Fonctionement==0){//fonctionnement en mode tableau
-				uint8_t t = PWMPourcentage(&heu,&tabSortie[i]);
-				PWMSetDutyCycle(i,t);
+				PWMSetDutyCycle(i,PWMPourcentage(&heu,&tabSortie[i]));
 				PWMStart(i);
 			}
 		}

+ 6 - 0
Soft/STM32/Controle/Src/gpio.c

@@ -88,6 +88,12 @@ void MX_GPIO_Init(void)
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
   HAL_GPIO_Init(aquit_GPIO_Port, &GPIO_InitStruct);
 
+  /*Configure GPIO pin : PtPin */
+  GPIO_InitStruct.Pin = MYPIN_Pin;
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
+  HAL_GPIO_Init(MYPIN_GPIO_Port, &GPIO_InitStruct);
+
   /*Configure GPIO pins : PBPin PBPin */
   GPIO_InitStruct.Pin = LED_orange_Pin|MFP_Pin;
   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

+ 3 - 5
Soft/STM32/Controle/Src/spi.c

@@ -36,7 +36,7 @@ void MX_SPI1_Init(void)
   hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
   hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
   hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
-  hspi1.Init.NSS = SPI_NSS_HARD_INPUT;
+  hspi1.Init.NSS = SPI_NSS_SOFT;
   hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
   hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
   hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
@@ -62,12 +62,11 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
   
     __HAL_RCC_GPIOA_CLK_ENABLE();
     /**SPI1 GPIO Configuration    
-    PA4     ------> SPI1_NSS
     PA5     ------> SPI1_SCK
     PA6     ------> SPI1_MISO
     PA7     ------> SPI1_MOSI 
     */
-    GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
+    GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
     GPIO_InitStruct.Pull = GPIO_NOPULL;
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
@@ -95,12 +94,11 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
     __HAL_RCC_SPI1_CLK_DISABLE();
   
     /**SPI1 GPIO Configuration    
-    PA4     ------> SPI1_NSS
     PA5     ------> SPI1_SCK
     PA6     ------> SPI1_MISO
     PA7     ------> SPI1_MOSI 
     */
-    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
+    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
 
     /* SPI1 interrupt Deinit */
     HAL_NVIC_DisableIRQ(SPI1_IRQn);

+ 12 - 1
Soft/STM32/Controle/Src/stm32f4xx_it.c

@@ -39,6 +39,7 @@
 #include "cmsis_os.h"
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
+#include "Comunication.h"
 /* USER CODE END Includes */
 
 /* Private typedef -----------------------------------------------------------*/
@@ -58,7 +59,7 @@
 
 /* Private variables ---------------------------------------------------------*/
 /* USER CODE BEGIN PV */
-
+extern uint8_t t_SPIReceived[MAXRECEIVESPI];
 /* USER CODE END PV */
 
 /* Private function prototypes -----------------------------------------------*/
@@ -181,6 +182,16 @@ void DebugMon_Handler(void)
 void SPI1_IRQHandler(void)
 {
   /* USER CODE BEGIN SPI1_IRQn 0 */
+	int i = 1;
+	while(HAL_GPIO_ReadPin(MYPIN_GPIO_Port,MYPIN_Pin)==0){//a chaque intérruption du spi on vient ici
+		HAL_SPI_Receive(&hspi1,&t_SPIReceived[i],1,5);//On recoit le byte suivant
+		i++;
+		if (i>MAXRECEIVESPI+1){//Si on recoit plus de MAXRECEIVESPI byte n a un probleme.
+			while(1);//TODO Erreur
+		}
+	}
+	Com_dispactch(t_SPIReceived);
+	HAL_SPI_Receive_IT(&hspi1,t_SPIReceived,1);//On relance pour la prochiane intéruption SPI
 
   /* USER CODE END SPI1_IRQn 0 */
   HAL_SPI_IRQHandler(&hspi1);