diff --git a/Logiciel/Firmware_testeur/Firmware_testeur.ioc b/Logiciel/Firmware_testeur/Firmware_testeur.ioc
new file mode 100644
index 0000000000000000000000000000000000000000..f3d2d2e030bc2f66e989997e93f84a1162a862c6
--- /dev/null
+++ b/Logiciel/Firmware_testeur/Firmware_testeur.ioc
@@ -0,0 +1,462 @@
+#MicroXplorer Configuration settings - do not modify
+File.Version=6
+KeepUserPlacement=false
+Mcu.Family=STM32F0
+Mcu.IP0=NVIC
+Mcu.IP1=RCC
+Mcu.IP2=SYS
+Mcu.IPNb=3
+Mcu.Name=STM32F071V(8-B)Tx
+Mcu.Package=LQFP100
+Mcu.Pin0=PE2
+Mcu.Pin1=PE3
+Mcu.Pin10=PC2
+Mcu.Pin11=PC3
+Mcu.Pin12=PF3
+Mcu.Pin13=PA0
+Mcu.Pin14=PA1
+Mcu.Pin15=PA2
+Mcu.Pin16=PA3
+Mcu.Pin17=PA4
+Mcu.Pin18=PA5
+Mcu.Pin19=PA7
+Mcu.Pin2=PE4
+Mcu.Pin20=PC4
+Mcu.Pin21=PC5
+Mcu.Pin22=PB0
+Mcu.Pin23=PB1
+Mcu.Pin24=PB2
+Mcu.Pin25=PE7
+Mcu.Pin26=PE8
+Mcu.Pin27=PE10
+Mcu.Pin28=PE11
+Mcu.Pin29=PE12
+Mcu.Pin3=PE5
+Mcu.Pin30=PE13
+Mcu.Pin31=PE14
+Mcu.Pin32=PE15
+Mcu.Pin33=PB10
+Mcu.Pin34=PB11
+Mcu.Pin35=PB15
+Mcu.Pin36=PD8
+Mcu.Pin37=PD9
+Mcu.Pin38=PD10
+Mcu.Pin39=PD11
+Mcu.Pin4=PE6
+Mcu.Pin40=PD12
+Mcu.Pin41=PD13
+Mcu.Pin42=PD14
+Mcu.Pin43=PD15
+Mcu.Pin44=PC7
+Mcu.Pin45=PC8
+Mcu.Pin46=PC9
+Mcu.Pin47=PA8
+Mcu.Pin48=PA9
+Mcu.Pin49=PA10
+Mcu.Pin5=PC13
+Mcu.Pin50=PA11
+Mcu.Pin51=PA12
+Mcu.Pin52=PA13
+Mcu.Pin53=PF6
+Mcu.Pin54=PA14
+Mcu.Pin55=PA15
+Mcu.Pin56=PC10
+Mcu.Pin57=PC11
+Mcu.Pin58=PC12
+Mcu.Pin59=PD0
+Mcu.Pin6=PF9
+Mcu.Pin60=PD1
+Mcu.Pin61=PD2
+Mcu.Pin62=PD3
+Mcu.Pin63=PD4
+Mcu.Pin64=PD5
+Mcu.Pin65=PD6
+Mcu.Pin66=PD7
+Mcu.Pin67=PB3
+Mcu.Pin68=PB4
+Mcu.Pin69=PB5
+Mcu.Pin7=PF10
+Mcu.Pin70=PB6
+Mcu.Pin71=PB7
+Mcu.Pin72=PB8
+Mcu.Pin73=PB9
+Mcu.Pin74=PE0
+Mcu.Pin75=PE1
+Mcu.Pin76=VP_SYS_VS_Systick
+Mcu.Pin8=PC0
+Mcu.Pin9=PC1
+Mcu.PinsNb=77
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32F071V8Tx
+MxCube.Version=5.4.0
+MxDb.Version=DB.5.0.40
+NVIC.ForceEnableDMAVector=true
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
+PA0.GPIOParameters=GPIO_Label
+PA0.GPIO_Label=DS1_6
+PA0.Locked=true
+PA0.Signal=GPIO_Output
+PA1.GPIOParameters=GPIO_Label
+PA1.GPIO_Label=DS1_5
+PA1.Locked=true
+PA1.Signal=GPIO_Output
+PA10.GPIOParameters=GPIO_Label
+PA10.GPIO_Label=DS7_2
+PA10.Locked=true
+PA10.Signal=GPIO_Output
+PA11.GPIOParameters=GPIO_Label
+PA11.GPIO_Label=DS7_1
+PA11.Locked=true
+PA11.Signal=GPIO_Output
+PA12.GPIOParameters=GPIO_Label
+PA12.GPIO_Label=DS6_7
+PA12.Locked=true
+PA12.Signal=GPIO_Output
+PA13.Mode=Serial_Wire
+PA13.Signal=SYS_SWDIO
+PA14.Mode=Serial_Wire
+PA14.Signal=SYS_SWCLK
+PA15.GPIOParameters=GPIO_Label
+PA15.GPIO_Label=DS6_5
+PA15.Locked=true
+PA15.Signal=GPIO_Output
+PA2.GPIOParameters=GPIO_Label
+PA2.GPIO_Label=DS1_4
+PA2.Locked=true
+PA2.Signal=GPIO_Output
+PA3.GPIOParameters=GPIO_Label
+PA3.GPIO_Label=DS1_3
+PA3.Locked=true
+PA3.Signal=GPIO_Output
+PA4.GPIOParameters=GPIO_Label
+PA4.GPIO_Label=DS1_2
+PA4.Locked=true
+PA4.Signal=GPIO_Output
+PA5.GPIOParameters=GPIO_Label
+PA5.GPIO_Label=DS1_1
+PA5.Locked=true
+PA5.Signal=GPIO_Output
+PA7.GPIOParameters=GPIO_PuPd,GPIO_Label
+PA7.GPIO_Label=ETHB_1
+PA7.GPIO_PuPd=GPIO_PULLDOWN
+PA7.Locked=true
+PA7.Signal=GPIO_Input
+PA8.GPIOParameters=GPIO_Label
+PA8.GPIO_Label=DS7_4
+PA8.Locked=true
+PA8.Signal=GPIO_Output
+PA9.GPIOParameters=GPIO_Label
+PA9.GPIO_Label=DS7_3
+PA9.Locked=true
+PA9.Signal=GPIO_Output
+PB0.GPIOParameters=GPIO_PuPd,GPIO_Label
+PB0.GPIO_Label=ETHB_4
+PB0.GPIO_PuPd=GPIO_PULLDOWN
+PB0.Locked=true
+PB0.Signal=GPIO_Input
+PB1.GPIOParameters=GPIO_PuPd,GPIO_Label
+PB1.GPIO_Label=ETHB_5
+PB1.GPIO_PuPd=GPIO_PULLDOWN
+PB1.Locked=true
+PB1.Signal=GPIO_Input
+PB10.GPIOParameters=GPIO_Label
+PB10.GPIO_Label=ETHA_7
+PB10.Locked=true
+PB10.Signal=GPIO_Output
+PB11.GPIOParameters=GPIO_Label
+PB11.GPIO_Label=ETHA_8
+PB11.Locked=true
+PB11.Signal=GPIO_Output
+PB15.GPIOParameters=GPIO_Label
+PB15.GPIO_Label=EN_2V
+PB15.Locked=true
+PB15.Signal=GPIO_Output
+PB2.GPIOParameters=GPIO_PuPd,GPIO_Label
+PB2.GPIO_Label=ETHB_6
+PB2.GPIO_PuPd=GPIO_PULLDOWN
+PB2.Locked=true
+PB2.Signal=GPIO_Input
+PB3.GPIOParameters=GPIO_Label
+PB3.GPIO_Label=DS4_7
+PB3.Locked=true
+PB3.Signal=GPIO_Output
+PB4.GPIOParameters=GPIO_Label
+PB4.GPIO_Label=DS4_6
+PB4.Locked=true
+PB4.Signal=GPIO_Output
+PB5.GPIOParameters=GPIO_Label
+PB5.GPIO_Label=DS4_5
+PB5.Locked=true
+PB5.Signal=GPIO_Output
+PB6.GPIOParameters=GPIO_Label
+PB6.GPIO_Label=DS4_4
+PB6.Locked=true
+PB6.Signal=GPIO_Output
+PB7.GPIOParameters=GPIO_Label
+PB7.GPIO_Label=DS4_3
+PB7.Locked=true
+PB7.Signal=GPIO_Output
+PB8.GPIOParameters=GPIO_Label
+PB8.GPIO_Label=DS4_2
+PB8.Locked=true
+PB8.Signal=GPIO_Output
+PB9.GPIOParameters=GPIO_Label
+PB9.GPIO_Label=DS4_1
+PB9.Locked=true
+PB9.Signal=GPIO_Output
+PC0.GPIOParameters=GPIO_Label
+PC0.GPIO_Label=DS2_4
+PC0.Locked=true
+PC0.Signal=GPIO_Output
+PC1.GPIOParameters=GPIO_Label
+PC1.GPIO_Label=DS2_3
+PC1.Locked=true
+PC1.Signal=GPIO_Output
+PC10.GPIOParameters=GPIO_Label
+PC10.GPIO_Label=DS6_4
+PC10.Locked=true
+PC10.Signal=GPIO_Output
+PC11.GPIOParameters=GPIO_Label
+PC11.GPIO_Label=DS6_3
+PC11.Locked=true
+PC11.Signal=GPIO_Output
+PC12.GPIOParameters=GPIO_Label
+PC12.GPIO_Label=DS6_2
+PC12.Locked=true
+PC12.Signal=GPIO_Output
+PC13.GPIOParameters=GPIO_Label
+PC13.GPIO_Label=DS2_7
+PC13.Locked=true
+PC13.Signal=GPIO_Output
+PC2.GPIOParameters=GPIO_Label
+PC2.GPIO_Label=DS2_2
+PC2.Locked=true
+PC2.Signal=GPIO_Output
+PC3.GPIOParameters=GPIO_Label
+PC3.GPIO_Label=DS2_1
+PC3.Locked=true
+PC3.Signal=GPIO_Output
+PC4.GPIOParameters=GPIO_PuPd,GPIO_Label
+PC4.GPIO_Label=ETHB_2
+PC4.GPIO_PuPd=GPIO_PULLDOWN
+PC4.Locked=true
+PC4.Signal=GPIO_Input
+PC5.GPIOParameters=GPIO_PuPd,GPIO_Label
+PC5.GPIO_Label=ETHB_3
+PC5.GPIO_PuPd=GPIO_PULLDOWN
+PC5.Locked=true
+PC5.Signal=GPIO_Input
+PC7.GPIOParameters=GPIO_Label
+PC7.GPIO_Label=DS7_7
+PC7.Locked=true
+PC7.Signal=GPIO_Output
+PC8.GPIOParameters=GPIO_Label
+PC8.GPIO_Label=DS7_6
+PC8.Locked=true
+PC8.Signal=GPIO_Output
+PC9.GPIOParameters=GPIO_Label
+PC9.GPIO_Label=DS7_5
+PC9.Locked=true
+PC9.Signal=GPIO_Output
+PCC.Checker=false
+PCC.Line=STM32F0x1
+PCC.MCU=STM32F071V(8-B)Tx
+PCC.PartNumber=STM32F071V8Tx
+PCC.Seq0=0
+PCC.Series=STM32F0
+PCC.Temperature=25
+PCC.Vdd=3.6
+PD0.GPIOParameters=GPIO_Label
+PD0.GPIO_Label=DS6_1
+PD0.Locked=true
+PD0.Signal=GPIO_Output
+PD1.GPIOParameters=GPIO_Label
+PD1.GPIO_Label=DS5_7
+PD1.Locked=true
+PD1.Signal=GPIO_Output
+PD10.GPIOParameters=GPIO_Label
+PD10.GPIO_Label=DS8_6
+PD10.Locked=true
+PD10.Signal=GPIO_Output
+PD11.GPIOParameters=GPIO_Label
+PD11.GPIO_Label=DS8_5
+PD11.Locked=true
+PD11.Signal=GPIO_Output
+PD12.GPIOParameters=GPIO_Label
+PD12.GPIO_Label=DS8_4
+PD12.Locked=true
+PD12.Signal=GPIO_Output
+PD13.GPIOParameters=GPIO_Label
+PD13.GPIO_Label=DS8_3
+PD13.Locked=true
+PD13.Signal=GPIO_Output
+PD14.GPIOParameters=GPIO_Label
+PD14.GPIO_Label=DS8_2
+PD14.Locked=true
+PD14.Signal=GPIO_Output
+PD15.GPIOParameters=GPIO_Label
+PD15.GPIO_Label=DS8_1
+PD15.Locked=true
+PD15.Signal=GPIO_Output
+PD2.GPIOParameters=GPIO_Label
+PD2.GPIO_Label=DS5_6
+PD2.Locked=true
+PD2.Signal=GPIO_Output
+PD3.GPIOParameters=GPIO_Label
+PD3.GPIO_Label=DS5_5
+PD3.Locked=true
+PD3.Signal=GPIO_Output
+PD4.GPIOParameters=GPIO_Label
+PD4.GPIO_Label=DS5_4
+PD4.Locked=true
+PD4.Signal=GPIO_Output
+PD5.GPIOParameters=GPIO_Label
+PD5.GPIO_Label=DS5_3
+PD5.Locked=true
+PD5.Signal=GPIO_Output
+PD6.GPIOParameters=GPIO_Label
+PD6.GPIO_Label=DS5_2
+PD6.Locked=true
+PD6.Signal=GPIO_Output
+PD7.GPIOParameters=GPIO_Label
+PD7.GPIO_Label=DS5_1
+PD7.Locked=true
+PD7.Signal=GPIO_Output
+PD8.GPIOParameters=GPIO_PuPd,GPIO_Label
+PD8.GPIO_Label=BTN
+PD8.GPIO_PuPd=GPIO_PULLDOWN
+PD8.Locked=true
+PD8.Signal=GPIO_Input
+PD9.GPIOParameters=GPIO_Label
+PD9.GPIO_Label=DS8_7
+PD9.Locked=true
+PD9.Signal=GPIO_Output
+PE0.GPIOParameters=GPIO_Label
+PE0.GPIO_Label=DS3_7
+PE0.Locked=true
+PE0.Signal=GPIO_Output
+PE1.GPIOParameters=GPIO_Label
+PE1.GPIO_Label=DS3_6
+PE1.Locked=true
+PE1.Signal=GPIO_Output
+PE10.GPIOParameters=GPIO_Label
+PE10.GPIO_Label=ETHA_1
+PE10.Locked=true
+PE10.Signal=GPIO_Output
+PE11.GPIOParameters=GPIO_Label
+PE11.GPIO_Label=ETHA_2
+PE11.Locked=true
+PE11.Signal=GPIO_Output
+PE12.GPIOParameters=GPIO_Label
+PE12.GPIO_Label=ETHA_3
+PE12.Locked=true
+PE12.Signal=GPIO_Output
+PE13.GPIOParameters=GPIO_Label
+PE13.GPIO_Label=ETHA_4
+PE13.Locked=true
+PE13.Signal=GPIO_Output
+PE14.GPIOParameters=GPIO_Label
+PE14.GPIO_Label=ETHA_5
+PE14.Locked=true
+PE14.Signal=GPIO_Output
+PE15.GPIOParameters=GPIO_Label
+PE15.GPIO_Label=ETHA_6
+PE15.Locked=true
+PE15.Signal=GPIO_Output
+PE2.GPIOParameters=GPIO_Label
+PE2.GPIO_Label=DS3_5
+PE2.Locked=true
+PE2.Signal=GPIO_Output
+PE3.GPIOParameters=GPIO_Label
+PE3.GPIO_Label=DS3_4
+PE3.Locked=true
+PE3.Signal=GPIO_Output
+PE4.GPIOParameters=GPIO_Label
+PE4.GPIO_Label=DS3_3
+PE4.Locked=true
+PE4.Signal=GPIO_Output
+PE5.GPIOParameters=GPIO_Label
+PE5.GPIO_Label=DS3_2
+PE5.Locked=true
+PE5.Signal=GPIO_Output
+PE6.GPIOParameters=GPIO_Label
+PE6.GPIO_Label=DS3_1
+PE6.Locked=true
+PE6.Signal=GPIO_Output
+PE7.GPIOParameters=GPIO_PuPd,GPIO_Label
+PE7.GPIO_Label=ETHB_7
+PE7.GPIO_PuPd=GPIO_PULLDOWN
+PE7.Locked=true
+PE7.Signal=GPIO_Input
+PE8.GPIOParameters=GPIO_PuPd,GPIO_Label
+PE8.GPIO_Label=ETHB_8
+PE8.GPIO_PuPd=GPIO_PULLDOWN
+PE8.Locked=true
+PE8.Signal=GPIO_Input
+PF10.GPIOParameters=GPIO_Label
+PF10.GPIO_Label=DS2_5
+PF10.Locked=true
+PF10.Signal=GPIO_Output
+PF3.GPIOParameters=GPIO_Label
+PF3.GPIO_Label=DS1_7
+PF3.Locked=true
+PF3.Signal=GPIO_Output
+PF6.GPIOParameters=GPIO_Label
+PF6.GPIO_Label=DS6_6
+PF6.Locked=true
+PF6.Signal=GPIO_Output
+PF9.GPIOParameters=GPIO_Label
+PF9.GPIO_Label=DS2_6
+PF9.Locked=true
+PF9.Signal=GPIO_Output
+PinOutPanel.RotationAngle=0
+ProjectManager.AskForMigrate=true
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerOptimize=6
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=false
+ProjectManager.CustomerFirmwarePackage=
+ProjectManager.DefaultFWLocation=true
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32F071V8Tx
+ProjectManager.FirmwarePackage=STM32Cube FW_F0 V1.11.0
+ProjectManager.FreePins=false
+ProjectManager.HalAssertFull=false
+ProjectManager.HeapSize=0x200
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=1
+ProjectManager.MainLocation=Src
+ProjectManager.NoMain=false
+ProjectManager.PreviousToolchain=STM32CubeIDE
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=Firmware_testeur.ioc
+ProjectManager.ProjectName=Firmware_testeur
+ProjectManager.StackSize=0x400
+ProjectManager.TargetToolchain=STM32CubeIDE
+ProjectManager.ToolChainLocation=
+ProjectManager.UnderRoot=true
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false
+RCC.AHBFreq_Value=8000000
+RCC.APB1Freq_Value=8000000
+RCC.APB1TimFreq_Value=8000000
+RCC.CECFreq_Value=32786.88524590164
+RCC.FCLKCortexFreq_Value=8000000
+RCC.FamilyName=M
+RCC.HCLKFreq_Value=8000000
+RCC.HSICECFreq_Value=32786.88524590164
+RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,CECFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSICECFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,TimSysFreq_Value,USART1Freq_Value,USART2Freq_Value,VCOOutput2Freq_Value
+RCC.PLLCLKFreq_Value=16000000
+RCC.PLLMCOFreq_Value=16000000
+RCC.TimSysFreq_Value=8000000
+RCC.USART1Freq_Value=8000000
+RCC.USART2Freq_Value=8000000
+RCC.VCOOutput2Freq_Value=8000000
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+board=custom