[PreviousGenFiles]\r
AdvancedFolderStructure=true\r
-HeaderFileListSize=3\r
-HeaderFiles#0=/home/fdila/Projects/otto/otto_controller/Core/Inc/stm32f7xx_it.h\r
-HeaderFiles#1=/home/fdila/Projects/otto/otto_controller/Core/Inc/stm32f7xx_hal_conf.h\r
-HeaderFiles#2=/home/fdila/Projects/otto/otto_controller/Core/Inc/main.h\r
+HeaderFileListSize=6\r
+HeaderFiles#0=/home/fdila/Projects/otto/otto_controller/Core/Inc/gpio.h\r
+HeaderFiles#1=/home/fdila/Projects/otto/otto_controller/Core/Inc/tim.h\r
+HeaderFiles#2=/home/fdila/Projects/otto/otto_controller/Core/Inc/usart.h\r
HeaderFolderListSize=1\r
HeaderPath#0=/home/fdila/Projects/otto/otto_controller/Core/Inc\r
-SourceFileListSize=3\r
-SourceFiles#0=/home/fdila/Projects/otto/otto_controller/Core/Src/stm32f7xx_it.c\r
-SourceFiles#1=/home/fdila/Projects/otto/otto_controller/Core/Src/stm32f7xx_hal_msp.c\r
-SourceFiles#2=/home/fdila/Projects/otto/otto_controller/Core/Src/main.c\r
+SourceFileListSize=6\r
+SourceFiles#0=/home/fdila/Projects/otto/otto_controller/Core/Src/gpio.c\r
+SourceFiles#1=/home/fdila/Projects/otto/otto_controller/Core/Src/tim.c\r
+SourceFiles#2=/home/fdila/Projects/otto/otto_controller/Core/Src/usart.c\r
SourceFolderListSize=1\r
SourcePath#0=/home/fdila/Projects/otto/otto_controller/Core/Src\r
-HeaderFiles=;\r
-SourceFiles=;\r
+HeaderFiles#3=/home/fdila/Projects/otto/otto_controller/Core/Inc/stm32f7xx_it.h\r
+HeaderFiles#4=/home/fdila/Projects/otto/otto_controller/Core/Inc/stm32f7xx_hal_conf.h\r
+HeaderFiles#5=/home/fdila/Projects/otto/otto_controller/Core/Inc/main.h\r
+SourceFiles#3=/home/fdila/Projects/otto/otto_controller/Core/Src/stm32f7xx_it.c\r
+SourceFiles#4=/home/fdila/Projects/otto/otto_controller/Core/Src/stm32f7xx_hal_msp.c\r
+SourceFiles#5=/home/fdila/Projects/otto/otto_controller/Core/Src/main.c\r
\r
[PreviousLibFiles]\r
LibFiles=Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h;Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart_ex.h;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h;Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c_ex.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h;Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart_ex.h;Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h;Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h;Drivers/CMSIS/Device/ST/STM32F7xx/Include/system_stm32f7xx.h;Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm4.h;\r
\r
[PreviousUsedCubeIDEFiles]\r
-SourceFiles=Core/Src/main.c;Core/Src/stm32f7xx_it.c;Core/Src/stm32f7xx_hal_msp.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c;Core/Src/system_stm32f7xx.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c;Core/Src/system_stm32f7xx.c;Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c;;\r
+SourceFiles=Core/Src/main.c;Core/Src/gpio.c;Core/Src/tim.c;Core/Src/usart.c;Core/Src/stm32f7xx_it.c;Core/Src/stm32f7xx_hal_msp.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c;Core/Src/system_stm32f7xx.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c;Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c;Core/Src/system_stm32f7xx.c;Drivers/CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c;;\r
HeaderPath=Drivers/STM32F7xx_HAL_Driver/Inc;Drivers/STM32F7xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32F7xx/Include;Drivers/CMSIS/Include;Core/Inc;\r
CDefines=USE_HAL_DRIVER;STM32F767xx;USE_HAL_DRIVER;USE_HAL_DRIVER;\r
\r
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1819916407084413083" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436046405535356377" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1819916407084413083" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436046405535356377" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * File Name : gpio.h\r
+ * Description : This file contains all the functions prototypes for \r
+ * the gpio \r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ * opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __gpio_H\r
+#define __gpio_H\r
+#ifdef __cplusplus\r
+ extern "C" {\r
+#endif\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "main.h"\r
+\r
+/* USER CODE BEGIN Includes */\r
+\r
+/* USER CODE END Includes */\r
+\r
+/* USER CODE BEGIN Private defines */\r
+\r
+/* USER CODE END Private defines */\r
+\r
+void MX_GPIO_Init(void);\r
+\r
+/* USER CODE BEGIN Prototypes */\r
+\r
+/* USER CODE END Prototypes */\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+#endif /*__ pinoutConfig_H */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
\r
/* USER CODE END EM */\r
\r
-void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);\r
-\r
/* Exported functions prototypes ---------------------------------------------*/\r
void Error_Handler(void);\r
\r
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * File Name : TIM.h\r
+ * Description : This file provides code for the configuration\r
+ * of the TIM instances.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ * opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __tim_H\r
+#define __tim_H\r
+#ifdef __cplusplus\r
+ extern "C" {\r
+#endif\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "main.h"\r
+\r
+/* USER CODE BEGIN Includes */\r
+\r
+/* USER CODE END Includes */\r
+\r
+extern TIM_HandleTypeDef htim2;\r
+extern TIM_HandleTypeDef htim3;\r
+extern TIM_HandleTypeDef htim4;\r
+extern TIM_HandleTypeDef htim5;\r
+extern TIM_HandleTypeDef htim6;\r
+\r
+/* USER CODE BEGIN Private defines */\r
+\r
+/* USER CODE END Private defines */\r
+\r
+void MX_TIM2_Init(void);\r
+void MX_TIM3_Init(void);\r
+void MX_TIM4_Init(void);\r
+void MX_TIM5_Init(void);\r
+void MX_TIM6_Init(void);\r
+ \r
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);\r
+ \r
+/* USER CODE BEGIN Prototypes */\r
+\r
+/* USER CODE END Prototypes */\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+#endif /*__ tim_H */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * File Name : USART.h\r
+ * Description : This file provides code for the configuration\r
+ * of the USART instances.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ * opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __usart_H\r
+#define __usart_H\r
+#ifdef __cplusplus\r
+ extern "C" {\r
+#endif\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "main.h"\r
+\r
+/* USER CODE BEGIN Includes */\r
+\r
+/* USER CODE END Includes */\r
+\r
+extern UART_HandleTypeDef huart6;\r
+\r
+/* USER CODE BEGIN Private defines */\r
+\r
+/* USER CODE END Private defines */\r
+\r
+void MX_USART6_UART_Init(void);\r
+\r
+/* USER CODE BEGIN Prototypes */\r
+\r
+/* USER CODE END Prototypes */\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+#endif /*__ usart_H */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * File Name : gpio.c\r
+ * Description : This file provides code for the configuration\r
+ * of all used GPIO pins.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ * opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "gpio.h"\r
+/* USER CODE BEGIN 0 */\r
+\r
+/* USER CODE END 0 */\r
+\r
+/*----------------------------------------------------------------------------*/\r
+/* Configure GPIO */\r
+/*----------------------------------------------------------------------------*/\r
+/* USER CODE BEGIN 1 */\r
+\r
+/* USER CODE END 1 */\r
+\r
+/** Configure pins as \r
+ * Analog \r
+ * Input \r
+ * Output\r
+ * EVENT_OUT\r
+ * EXTI\r
+*/\r
+void MX_GPIO_Init(void)\r
+{\r
+\r
+ GPIO_InitTypeDef GPIO_InitStruct = {0};\r
+\r
+ /* GPIO Ports Clock Enable */\r
+ __HAL_RCC_GPIOC_CLK_ENABLE();\r
+ __HAL_RCC_GPIOA_CLK_ENABLE();\r
+ __HAL_RCC_GPIOF_CLK_ENABLE();\r
+ __HAL_RCC_GPIOE_CLK_ENABLE();\r
+ __HAL_RCC_GPIOD_CLK_ENABLE();\r
+ __HAL_RCC_GPIOB_CLK_ENABLE();\r
+\r
+ /*Configure GPIO pin Output Level */\r
+ HAL_GPIO_WritePin(GPIOF, dir2_Pin|dir1_Pin, GPIO_PIN_RESET);\r
+\r
+ /*Configure GPIO pin Output Level */\r
+ HAL_GPIO_WritePin(GPIOF, sleep2_Pin|sleep1_Pin, GPIO_PIN_SET);\r
+\r
+ /*Configure GPIO pin : PtPin */\r
+ GPIO_InitStruct.Pin = user_button_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ HAL_GPIO_Init(user_button_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ /*Configure GPIO pin : PtPin */\r
+ GPIO_InitStruct.Pin = current2_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ HAL_GPIO_Init(current2_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ /*Configure GPIO pin : PtPin */\r
+ GPIO_InitStruct.Pin = current1_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ HAL_GPIO_Init(current1_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ /*Configure GPIO pin : PtPin */\r
+ GPIO_InitStruct.Pin = fault2_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ HAL_GPIO_Init(fault2_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ /*Configure GPIO pins : PFPin PFPin */\r
+ GPIO_InitStruct.Pin = dir2_Pin|dir1_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
+ HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);\r
+\r
+ /*Configure GPIO pins : PFPin PFPin */\r
+ GPIO_InitStruct.Pin = sleep2_Pin|sleep1_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;\r
+ GPIO_InitStruct.Pull = GPIO_PULLUP;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
+ HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);\r
+\r
+ /*Configure GPIO pin : PtPin */\r
+ GPIO_InitStruct.Pin = fault1_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ HAL_GPIO_Init(fault1_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ /* EXTI interrupt init*/\r
+ HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);\r
+ HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);\r
+\r
+}\r
+\r
+/* USER CODE BEGIN 2 */\r
+\r
+/* USER CODE END 2 */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
\r
/* Includes ------------------------------------------------------------------*/\r
#include "main.h"\r
+#include "tim.h"\r
+#include "usart.h"\r
+#include "gpio.h"\r
\r
/* Private includes ----------------------------------------------------------*/\r
/* USER CODE BEGIN Includes */\r
\r
/* Private variables ---------------------------------------------------------*/\r
\r
-TIM_HandleTypeDef htim2;\r
-TIM_HandleTypeDef htim3;\r
-TIM_HandleTypeDef htim4;\r
-TIM_HandleTypeDef htim5;\r
-TIM_HandleTypeDef htim6;\r
-\r
-UART_HandleTypeDef huart6;\r
-\r
/* USER CODE BEGIN PV */\r
\r
//Odometry\r
\r
/* Private function prototypes -----------------------------------------------*/\r
void SystemClock_Config(void);\r
-static void MX_GPIO_Init(void);\r
-static void MX_TIM2_Init(void);\r
-static void MX_TIM3_Init(void);\r
-static void MX_TIM4_Init(void);\r
-static void MX_TIM5_Init(void);\r
-static void MX_USART6_UART_Init(void);\r
-static void MX_TIM6_Init(void);\r
static void MX_NVIC_Init(void);\r
/* USER CODE BEGIN PFP */\r
\r
/* USER CODE END 0 */\r
\r
/**\r
- * @brief The application entry point.\r
- * @retval int\r
- */\r
-int main(void) {\r
+ * @brief The application entry point.\r
+ * @retval int\r
+ */\r
+int main(void)\r
+{\r
/* USER CODE BEGIN 1 */\r
/* USER CODE END 1 */\r
+ \r
\r
/* MCU Configuration--------------------------------------------------------*/\r
\r
}\r
\r
/**\r
- * @brief System Clock Configuration\r
- * @retval None\r
- */\r
-void SystemClock_Config(void) {\r
- RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };\r
- RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };\r
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };\r
+ * @brief System Clock Configuration\r
+ * @retval None\r
+ */\r
+void SystemClock_Config(void)\r
+{\r
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};\r
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};\r
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};\r
\r
/** Configure the main internal regulator output voltage \r
- */\r
+ */\r
__HAL_RCC_PWR_CLK_ENABLE();\r
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);\r
/** Initializes the CPU, AHB and APB busses clocks \r
- */\r
+ */\r
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;\r
RCC_OscInitStruct.HSIState = RCC_HSI_ON;\r
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;\r
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;\r
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {\r
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)\r
+ {\r
Error_Handler();\r
}\r
/** Initializes the CPU, AHB and APB busses clocks \r
- */\r
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK\r
- | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;\r
+ */\r
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK\r
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;\r
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;\r
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;\r
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;\r
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;\r
\r
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {\r
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)\r
+ {\r
Error_Handler();\r
}\r
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART6;\r
PeriphClkInitStruct.Usart6ClockSelection = RCC_USART6CLKSOURCE_PCLK2;\r
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {\r
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)\r
+ {\r
Error_Handler();\r
}\r
}\r
\r
/**\r
- * @brief NVIC Configuration.\r
- * @retval None\r
- */\r
-static void MX_NVIC_Init(void) {\r
+ * @brief NVIC Configuration.\r
+ * @retval None\r
+ */\r
+static void MX_NVIC_Init(void)\r
+{\r
/* TIM3_IRQn interrupt configuration */\r
HAL_NVIC_SetPriority(TIM3_IRQn, 2, 1);\r
HAL_NVIC_EnableIRQ(TIM3_IRQn);\r
HAL_NVIC_EnableIRQ(USART6_IRQn);\r
}\r
\r
-/**\r
- * @brief TIM2 Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_TIM2_Init(void) {\r
-\r
- /* USER CODE BEGIN TIM2_Init 0 */\r
-\r
- /* USER CODE END TIM2_Init 0 */\r
-\r
- TIM_Encoder_InitTypeDef sConfig = { 0 };\r
- TIM_MasterConfigTypeDef sMasterConfig = { 0 };\r
-\r
- /* USER CODE BEGIN TIM2_Init 1 */\r
-\r
- /* USER CODE END TIM2_Init 1 */\r
- htim2.Instance = TIM2;\r
- htim2.Init.Prescaler = 0;\r
- htim2.Init.CounterMode = TIM_COUNTERMODE_UP;\r
- htim2.Init.Period = 4294967295;\r
- htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
- htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
- sConfig.EncoderMode = TIM_ENCODERMODE_TI12;\r
- sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;\r
- sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;\r
- sConfig.IC1Prescaler = TIM_ICPSC_DIV1;\r
- sConfig.IC1Filter = 0;\r
- sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;\r
- sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;\r
- sConfig.IC2Prescaler = TIM_ICPSC_DIV1;\r
- sConfig.IC2Filter = 0;\r
- if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
- if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- /* USER CODE BEGIN TIM2_Init 2 */\r
-\r
- /* USER CODE END TIM2_Init 2 */\r
-\r
-}\r
-\r
-/**\r
- * @brief TIM3 Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_TIM3_Init(void) {\r
-\r
- /* USER CODE BEGIN TIM3_Init 0 */\r
-\r
- /* USER CODE END TIM3_Init 0 */\r
-\r
- TIM_ClockConfigTypeDef sClockSourceConfig = { 0 };\r
- TIM_MasterConfigTypeDef sMasterConfig = { 0 };\r
-\r
- /* USER CODE BEGIN TIM3_Init 1 */\r
-\r
- /* USER CODE END TIM3_Init 1 */\r
- htim3.Instance = TIM3;\r
- htim3.Init.Prescaler = 999;\r
- htim3.Init.CounterMode = TIM_COUNTERMODE_UP;\r
- htim3.Init.Period = 159;\r
- htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
- htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
- if (HAL_TIM_Base_Init(&htim3) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;\r
- if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
- if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- /* USER CODE BEGIN TIM3_Init 2 */\r
-\r
- /* USER CODE END TIM3_Init 2 */\r
-\r
-}\r
-\r
-/**\r
- * @brief TIM4 Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_TIM4_Init(void) {\r
-\r
- /* USER CODE BEGIN TIM4_Init 0 */\r
-\r
- /* USER CODE END TIM4_Init 0 */\r
-\r
- TIM_ClockConfigTypeDef sClockSourceConfig = { 0 };\r
- TIM_MasterConfigTypeDef sMasterConfig = { 0 };\r
- TIM_OC_InitTypeDef sConfigOC = { 0 };\r
-\r
- /* USER CODE BEGIN TIM4_Init 1 */\r
-\r
- /* USER CODE END TIM4_Init 1 */\r
- htim4.Instance = TIM4;\r
- htim4.Init.Prescaler = 0;\r
- htim4.Init.CounterMode = TIM_COUNTERMODE_UP;\r
- htim4.Init.Period = 799;\r
- htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
- htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
- if (HAL_TIM_Base_Init(&htim4) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;\r
- if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
- if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sConfigOC.OCMode = TIM_OCMODE_PWM1;\r
- sConfigOC.Pulse = 0;\r
- sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;\r
- sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;\r
- if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- /* USER CODE BEGIN TIM4_Init 2 */\r
-\r
- /* USER CODE END TIM4_Init 2 */\r
- HAL_TIM_MspPostInit(&htim4);\r
-\r
-}\r
-\r
-/**\r
- * @brief TIM5 Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_TIM5_Init(void) {\r
-\r
- /* USER CODE BEGIN TIM5_Init 0 */\r
-\r
- /* USER CODE END TIM5_Init 0 */\r
-\r
- TIM_Encoder_InitTypeDef sConfig = { 0 };\r
- TIM_MasterConfigTypeDef sMasterConfig = { 0 };\r
-\r
- /* USER CODE BEGIN TIM5_Init 1 */\r
-\r
- /* USER CODE END TIM5_Init 1 */\r
- htim5.Instance = TIM5;\r
- htim5.Init.Prescaler = 0;\r
- htim5.Init.CounterMode = TIM_COUNTERMODE_UP;\r
- htim5.Init.Period = 4294967295;\r
- htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
- htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
- sConfig.EncoderMode = TIM_ENCODERMODE_TI12;\r
- sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;\r
- sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;\r
- sConfig.IC1Prescaler = TIM_ICPSC_DIV1;\r
- sConfig.IC1Filter = 0;\r
- sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;\r
- sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;\r
- sConfig.IC2Prescaler = TIM_ICPSC_DIV1;\r
- sConfig.IC2Filter = 0;\r
- if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
- if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- /* USER CODE BEGIN TIM5_Init 2 */\r
-\r
- /* USER CODE END TIM5_Init 2 */\r
-\r
-}\r
-\r
-/**\r
- * @brief TIM6 Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_TIM6_Init(void) {\r
-\r
- /* USER CODE BEGIN TIM6_Init 0 */\r
-\r
- /* USER CODE END TIM6_Init 0 */\r
-\r
- TIM_MasterConfigTypeDef sMasterConfig = { 0 };\r
-\r
- /* USER CODE BEGIN TIM6_Init 1 */\r
-\r
- /* USER CODE END TIM6_Init 1 */\r
- htim6.Instance = TIM6;\r
- htim6.Init.Prescaler = 9999;\r
- htim6.Init.CounterMode = TIM_COUNTERMODE_UP;\r
- htim6.Init.Period = 799;\r
- htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
- if (HAL_TIM_Base_Init(&htim6) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
- if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- /* USER CODE BEGIN TIM6_Init 2 */\r
-\r
- /* USER CODE END TIM6_Init 2 */\r
-\r
-}\r
-\r
-/**\r
- * @brief USART6 Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_USART6_UART_Init(void) {\r
-\r
- /* USER CODE BEGIN USART6_Init 0 */\r
-\r
- /* USER CODE END USART6_Init 0 */\r
-\r
- /* USER CODE BEGIN USART6_Init 1 */\r
-\r
- /* USER CODE END USART6_Init 1 */\r
- huart6.Instance = USART6;\r
- huart6.Init.BaudRate = 115200;\r
- huart6.Init.WordLength = UART_WORDLENGTH_8B;\r
- huart6.Init.StopBits = UART_STOPBITS_1;\r
- huart6.Init.Parity = UART_PARITY_NONE;\r
- huart6.Init.Mode = UART_MODE_TX_RX;\r
- huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE;\r
- huart6.Init.OverSampling = UART_OVERSAMPLING_16;\r
- huart6.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;\r
- huart6.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;\r
- if (HAL_UART_Init(&huart6) != HAL_OK) {\r
- Error_Handler();\r
- }\r
- /* USER CODE BEGIN USART6_Init 2 */\r
-\r
- /* USER CODE END USART6_Init 2 */\r
-\r
-}\r
-\r
-/**\r
- * @brief GPIO Initialization Function\r
- * @param None\r
- * @retval None\r
- */\r
-static void MX_GPIO_Init(void) {\r
- GPIO_InitTypeDef GPIO_InitStruct = { 0 };\r
-\r
- /* GPIO Ports Clock Enable */\r
- __HAL_RCC_GPIOC_CLK_ENABLE();\r
- __HAL_RCC_GPIOA_CLK_ENABLE();\r
- __HAL_RCC_GPIOF_CLK_ENABLE();\r
- __HAL_RCC_GPIOE_CLK_ENABLE();\r
- __HAL_RCC_GPIOD_CLK_ENABLE();\r
- __HAL_RCC_GPIOB_CLK_ENABLE();\r
-\r
- /*Configure GPIO pin Output Level */\r
- HAL_GPIO_WritePin(GPIOF, dir2_Pin | dir1_Pin, GPIO_PIN_RESET);\r
-\r
- /*Configure GPIO pin Output Level */\r
- HAL_GPIO_WritePin(GPIOF, sleep2_Pin | sleep1_Pin, GPIO_PIN_SET);\r
-\r
- /*Configure GPIO pin : user_button_Pin */\r
- GPIO_InitStruct.Pin = user_button_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- HAL_GPIO_Init(user_button_GPIO_Port, &GPIO_InitStruct);\r
-\r
- /*Configure GPIO pin : current2_Pin */\r
- GPIO_InitStruct.Pin = current2_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- HAL_GPIO_Init(current2_GPIO_Port, &GPIO_InitStruct);\r
-\r
- /*Configure GPIO pin : current1_Pin */\r
- GPIO_InitStruct.Pin = current1_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- HAL_GPIO_Init(current1_GPIO_Port, &GPIO_InitStruct);\r
-\r
- /*Configure GPIO pin : fault2_Pin */\r
- GPIO_InitStruct.Pin = fault2_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- HAL_GPIO_Init(fault2_GPIO_Port, &GPIO_InitStruct);\r
-\r
- /*Configure GPIO pins : dir2_Pin dir1_Pin */\r
- GPIO_InitStruct.Pin = dir2_Pin | dir1_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);\r
-\r
- /*Configure GPIO pins : sleep2_Pin sleep1_Pin */\r
- GPIO_InitStruct.Pin = sleep2_Pin | sleep1_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;\r
- GPIO_InitStruct.Pull = GPIO_PULLUP;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);\r
-\r
- /*Configure GPIO pin : fault1_Pin */\r
- GPIO_InitStruct.Pin = fault1_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- HAL_GPIO_Init(fault1_GPIO_Port, &GPIO_InitStruct);\r
-\r
- /* EXTI interrupt init*/\r
- HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);\r
- HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);\r
-\r
-}\r
-\r
/* USER CODE BEGIN 4 */\r
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {\r
\r
/* USER CODE END 4 */\r
\r
/**\r
- * @brief This function is executed in case of error occurrence.\r
- * @retval None\r
- */\r
-void Error_Handler(void) {\r
+ * @brief This function is executed in case of error occurrence.\r
+ * @retval None\r
+ */\r
+void Error_Handler(void)\r
+{\r
/* USER CODE BEGIN Error_Handler_Debug */\r
/* User can add his own implementation to report the HAL error return state */\r
\r
/* USER CODE BEGIN 0 */\r
\r
/* USER CODE END 0 */\r
- \r
-void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);\r
- /**\r
+/**\r
* Initializes the Global MSP.\r
*/\r
void HAL_MspInit(void)\r
__HAL_RCC_PWR_CLK_ENABLE();\r
__HAL_RCC_SYSCFG_CLK_ENABLE();\r
\r
+ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2);\r
+\r
/* System interrupt init*/\r
\r
/* USER CODE BEGIN MspInit 1 */\r
/* USER CODE END MspInit 1 */\r
}\r
\r
-/**\r
-* @brief TIM_Encoder MSP Initialization\r
-* This function configures the hardware resources used in this example\r
-* @param htim_encoder: TIM_Encoder handle pointer\r
-* @retval None\r
-*/\r
-void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder)\r
-{\r
- GPIO_InitTypeDef GPIO_InitStruct = {0};\r
- if(htim_encoder->Instance==TIM2)\r
- {\r
- /* USER CODE BEGIN TIM2_MspInit 0 */\r
-\r
- /* USER CODE END TIM2_MspInit 0 */\r
- /* Peripheral clock enable */\r
- __HAL_RCC_TIM2_CLK_ENABLE();\r
- \r
- __HAL_RCC_GPIOA_CLK_ENABLE();\r
- __HAL_RCC_GPIOB_CLK_ENABLE();\r
- /**TIM2 GPIO Configuration \r
- PA5 ------> TIM2_CH1\r
- PB3 ------> TIM2_CH2 \r
- */\r
- GPIO_InitStruct.Pin = encoder_sx1_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
- GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;\r
- HAL_GPIO_Init(encoder_sx1_GPIO_Port, &GPIO_InitStruct);\r
-\r
- GPIO_InitStruct.Pin = encoder_sx2_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
- GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;\r
- HAL_GPIO_Init(encoder_sx2_GPIO_Port, &GPIO_InitStruct);\r
-\r
- /* USER CODE BEGIN TIM2_MspInit 1 */\r
-\r
- /* USER CODE END TIM2_MspInit 1 */\r
- }\r
- else if(htim_encoder->Instance==TIM5)\r
- {\r
- /* USER CODE BEGIN TIM5_MspInit 0 */\r
-\r
- /* USER CODE END TIM5_MspInit 0 */\r
- /* Peripheral clock enable */\r
- __HAL_RCC_TIM5_CLK_ENABLE();\r
- \r
- __HAL_RCC_GPIOA_CLK_ENABLE();\r
- /**TIM5 GPIO Configuration \r
- PA0/WKUP ------> TIM5_CH1\r
- PA1 ------> TIM5_CH2 \r
- */\r
- GPIO_InitStruct.Pin = encoder_dx1_Pin|encoder_dx2_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
- GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;\r
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);\r
-\r
- /* USER CODE BEGIN TIM5_MspInit 1 */\r
-\r
- /* USER CODE END TIM5_MspInit 1 */\r
- }\r
-\r
-}\r
-\r
-/**\r
-* @brief TIM_Base MSP Initialization\r
-* This function configures the hardware resources used in this example\r
-* @param htim_base: TIM_Base handle pointer\r
-* @retval None\r
-*/\r
-void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)\r
-{\r
- if(htim_base->Instance==TIM3)\r
- {\r
- /* USER CODE BEGIN TIM3_MspInit 0 */\r
-\r
- /* USER CODE END TIM3_MspInit 0 */\r
- /* Peripheral clock enable */\r
- __HAL_RCC_TIM3_CLK_ENABLE();\r
- /* USER CODE BEGIN TIM3_MspInit 1 */\r
-\r
- /* USER CODE END TIM3_MspInit 1 */\r
- }\r
- else if(htim_base->Instance==TIM4)\r
- {\r
- /* USER CODE BEGIN TIM4_MspInit 0 */\r
-\r
- /* USER CODE END TIM4_MspInit 0 */\r
- /* Peripheral clock enable */\r
- __HAL_RCC_TIM4_CLK_ENABLE();\r
- /* USER CODE BEGIN TIM4_MspInit 1 */\r
-\r
- /* USER CODE END TIM4_MspInit 1 */\r
- }\r
- else if(htim_base->Instance==TIM6)\r
- {\r
- /* USER CODE BEGIN TIM6_MspInit 0 */\r
-\r
- /* USER CODE END TIM6_MspInit 0 */\r
- /* Peripheral clock enable */\r
- __HAL_RCC_TIM6_CLK_ENABLE();\r
- /* USER CODE BEGIN TIM6_MspInit 1 */\r
-\r
- /* USER CODE END TIM6_MspInit 1 */\r
- }\r
-\r
-}\r
-\r
-void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)\r
-{\r
- GPIO_InitTypeDef GPIO_InitStruct = {0};\r
- if(htim->Instance==TIM4)\r
- {\r
- /* USER CODE BEGIN TIM4_MspPostInit 0 */\r
-\r
- /* USER CODE END TIM4_MspPostInit 0 */\r
- \r
- __HAL_RCC_GPIOD_CLK_ENABLE();\r
- /**TIM4 GPIO Configuration \r
- PD14 ------> TIM4_CH3\r
- PD15 ------> TIM4_CH4 \r
- */\r
- GPIO_InitStruct.Pin = pwm2_Pin|pwm1_Pin;\r
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
- GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;\r
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);\r
-\r
- /* USER CODE BEGIN TIM4_MspPostInit 1 */\r
-\r
- /* USER CODE END TIM4_MspPostInit 1 */\r
- }\r
-\r
-}\r
-/**\r
-* @brief TIM_Encoder MSP De-Initialization\r
-* This function freeze the hardware resources used in this example\r
-* @param htim_encoder: TIM_Encoder handle pointer\r
-* @retval None\r
-*/\r
-void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* htim_encoder)\r
-{\r
- if(htim_encoder->Instance==TIM2)\r
- {\r
- /* USER CODE BEGIN TIM2_MspDeInit 0 */\r
-\r
- /* USER CODE END TIM2_MspDeInit 0 */\r
- /* Peripheral clock disable */\r
- __HAL_RCC_TIM2_CLK_DISABLE();\r
- \r
- /**TIM2 GPIO Configuration \r
- PA5 ------> TIM2_CH1\r
- PB3 ------> TIM2_CH2 \r
- */\r
- HAL_GPIO_DeInit(encoder_sx1_GPIO_Port, encoder_sx1_Pin);\r
-\r
- HAL_GPIO_DeInit(encoder_sx2_GPIO_Port, encoder_sx2_Pin);\r
-\r
- /* USER CODE BEGIN TIM2_MspDeInit 1 */\r
-\r
- /* USER CODE END TIM2_MspDeInit 1 */\r
- }\r
- else if(htim_encoder->Instance==TIM5)\r
- {\r
- /* USER CODE BEGIN TIM5_MspDeInit 0 */\r
-\r
- /* USER CODE END TIM5_MspDeInit 0 */\r
- /* Peripheral clock disable */\r
- __HAL_RCC_TIM5_CLK_DISABLE();\r
- \r
- /**TIM5 GPIO Configuration \r
- PA0/WKUP ------> TIM5_CH1\r
- PA1 ------> TIM5_CH2 \r
- */\r
- HAL_GPIO_DeInit(GPIOA, encoder_dx1_Pin|encoder_dx2_Pin);\r
-\r
- /* USER CODE BEGIN TIM5_MspDeInit 1 */\r
-\r
- /* USER CODE END TIM5_MspDeInit 1 */\r
- }\r
-\r
-}\r
-\r
-/**\r
-* @brief TIM_Base MSP De-Initialization\r
-* This function freeze the hardware resources used in this example\r
-* @param htim_base: TIM_Base handle pointer\r
-* @retval None\r
-*/\r
-void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)\r
-{\r
- if(htim_base->Instance==TIM3)\r
- {\r
- /* USER CODE BEGIN TIM3_MspDeInit 0 */\r
-\r
- /* USER CODE END TIM3_MspDeInit 0 */\r
- /* Peripheral clock disable */\r
- __HAL_RCC_TIM3_CLK_DISABLE();\r
-\r
- /* TIM3 interrupt DeInit */\r
- HAL_NVIC_DisableIRQ(TIM3_IRQn);\r
- /* USER CODE BEGIN TIM3_MspDeInit 1 */\r
-\r
- /* USER CODE END TIM3_MspDeInit 1 */\r
- }\r
- else if(htim_base->Instance==TIM4)\r
- {\r
- /* USER CODE BEGIN TIM4_MspDeInit 0 */\r
-\r
- /* USER CODE END TIM4_MspDeInit 0 */\r
- /* Peripheral clock disable */\r
- __HAL_RCC_TIM4_CLK_DISABLE();\r
- /* USER CODE BEGIN TIM4_MspDeInit 1 */\r
-\r
- /* USER CODE END TIM4_MspDeInit 1 */\r
- }\r
- else if(htim_base->Instance==TIM6)\r
- {\r
- /* USER CODE BEGIN TIM6_MspDeInit 0 */\r
-\r
- /* USER CODE END TIM6_MspDeInit 0 */\r
- /* Peripheral clock disable */\r
- __HAL_RCC_TIM6_CLK_DISABLE();\r
-\r
- /* TIM6 interrupt DeInit */\r
- HAL_NVIC_DisableIRQ(TIM6_DAC_IRQn);\r
- /* USER CODE BEGIN TIM6_MspDeInit 1 */\r
-\r
- /* USER CODE END TIM6_MspDeInit 1 */\r
- }\r
-\r
-}\r
-\r
-/**\r
-* @brief UART MSP Initialization\r
-* This function configures the hardware resources used in this example\r
-* @param huart: UART handle pointer\r
-* @retval None\r
-*/\r
-void HAL_UART_MspInit(UART_HandleTypeDef* huart)\r
-{\r
- GPIO_InitTypeDef GPIO_InitStruct = {0};\r
- if(huart->Instance==USART6)\r
- {\r
- /* USER CODE BEGIN USART6_MspInit 0 */\r
-\r
- /* USER CODE END USART6_MspInit 0 */\r
- /* Peripheral clock enable */\r
- __HAL_RCC_USART6_CLK_ENABLE();\r
- \r
- __HAL_RCC_GPIOC_CLK_ENABLE();\r
- /**USART6 GPIO Configuration \r
- PC6 ------> USART6_TX\r
- PC7 ------> USART6_RX \r
- */\r
- GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;\r
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
- GPIO_InitStruct.Pull = GPIO_NOPULL;\r
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;\r
- GPIO_InitStruct.Alternate = GPIO_AF8_USART6;\r
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);\r
-\r
- /* USER CODE BEGIN USART6_MspInit 1 */\r
-\r
- /* USER CODE END USART6_MspInit 1 */\r
- }\r
-\r
-}\r
-\r
-/**\r
-* @brief UART MSP De-Initialization\r
-* This function freeze the hardware resources used in this example\r
-* @param huart: UART handle pointer\r
-* @retval None\r
-*/\r
-void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)\r
-{\r
- if(huart->Instance==USART6)\r
- {\r
- /* USER CODE BEGIN USART6_MspDeInit 0 */\r
-\r
- /* USER CODE END USART6_MspDeInit 0 */\r
- /* Peripheral clock disable */\r
- __HAL_RCC_USART6_CLK_DISABLE();\r
- \r
- /**USART6 GPIO Configuration \r
- PC6 ------> USART6_TX\r
- PC7 ------> USART6_RX \r
- */\r
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);\r
-\r
- /* USART6 interrupt DeInit */\r
- HAL_NVIC_DisableIRQ(USART6_IRQn);\r
- /* USER CODE BEGIN USART6_MspDeInit 1 */\r
-\r
- /* USER CODE END USART6_MspDeInit 1 */\r
- }\r
-\r
-}\r
-\r
/* USER CODE BEGIN 1 */\r
\r
/* USER CODE END 1 */\r
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * File Name : TIM.c\r
+ * Description : This file provides code for the configuration\r
+ * of the TIM instances.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ * opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "tim.h"\r
+\r
+/* USER CODE BEGIN 0 */\r
+\r
+/* USER CODE END 0 */\r
+\r
+TIM_HandleTypeDef htim2;\r
+TIM_HandleTypeDef htim3;\r
+TIM_HandleTypeDef htim4;\r
+TIM_HandleTypeDef htim5;\r
+TIM_HandleTypeDef htim6;\r
+\r
+/* TIM2 init function */\r
+void MX_TIM2_Init(void)\r
+{\r
+ TIM_Encoder_InitTypeDef sConfig = {0};\r
+ TIM_MasterConfigTypeDef sMasterConfig = {0};\r
+\r
+ htim2.Instance = TIM2;\r
+ htim2.Init.Prescaler = 0;\r
+ htim2.Init.CounterMode = TIM_COUNTERMODE_UP;\r
+ htim2.Init.Period = 4294967295;\r
+ htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
+ htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
+ sConfig.EncoderMode = TIM_ENCODERMODE_TI12;\r
+ sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;\r
+ sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;\r
+ sConfig.IC1Prescaler = TIM_ICPSC_DIV1;\r
+ sConfig.IC1Filter = 0;\r
+ sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;\r
+ sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;\r
+ sConfig.IC2Prescaler = TIM_ICPSC_DIV1;\r
+ sConfig.IC2Filter = 0;\r
+ if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+\r
+}\r
+/* TIM3 init function */\r
+void MX_TIM3_Init(void)\r
+{\r
+ TIM_ClockConfigTypeDef sClockSourceConfig = {0};\r
+ TIM_MasterConfigTypeDef sMasterConfig = {0};\r
+\r
+ htim3.Instance = TIM3;\r
+ htim3.Init.Prescaler = 999;\r
+ htim3.Init.CounterMode = TIM_COUNTERMODE_UP;\r
+ htim3.Init.Period = 159;\r
+ htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
+ htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
+ if (HAL_TIM_Base_Init(&htim3) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;\r
+ if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+\r
+}\r
+/* TIM4 init function */\r
+void MX_TIM4_Init(void)\r
+{\r
+ TIM_ClockConfigTypeDef sClockSourceConfig = {0};\r
+ TIM_MasterConfigTypeDef sMasterConfig = {0};\r
+ TIM_OC_InitTypeDef sConfigOC = {0};\r
+\r
+ htim4.Instance = TIM4;\r
+ htim4.Init.Prescaler = 0;\r
+ htim4.Init.CounterMode = TIM_COUNTERMODE_UP;\r
+ htim4.Init.Period = 799;\r
+ htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
+ htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
+ if (HAL_TIM_Base_Init(&htim4) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;\r
+ if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ if (HAL_TIM_PWM_Init(&htim4) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sConfigOC.OCMode = TIM_OCMODE_PWM1;\r
+ sConfigOC.Pulse = 0;\r
+ sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;\r
+ sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;\r
+ if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ HAL_TIM_MspPostInit(&htim4);\r
+\r
+}\r
+/* TIM5 init function */\r
+void MX_TIM5_Init(void)\r
+{\r
+ TIM_Encoder_InitTypeDef sConfig = {0};\r
+ TIM_MasterConfigTypeDef sMasterConfig = {0};\r
+\r
+ htim5.Instance = TIM5;\r
+ htim5.Init.Prescaler = 0;\r
+ htim5.Init.CounterMode = TIM_COUNTERMODE_UP;\r
+ htim5.Init.Period = 4294967295;\r
+ htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
+ htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
+ sConfig.EncoderMode = TIM_ENCODERMODE_TI12;\r
+ sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;\r
+ sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;\r
+ sConfig.IC1Prescaler = TIM_ICPSC_DIV1;\r
+ sConfig.IC1Filter = 0;\r
+ sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;\r
+ sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;\r
+ sConfig.IC2Prescaler = TIM_ICPSC_DIV1;\r
+ sConfig.IC2Filter = 0;\r
+ if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+\r
+}\r
+/* TIM6 init function */\r
+void MX_TIM6_Init(void)\r
+{\r
+ TIM_MasterConfigTypeDef sMasterConfig = {0};\r
+\r
+ htim6.Instance = TIM6;\r
+ htim6.Init.Prescaler = 9999;\r
+ htim6.Init.CounterMode = TIM_COUNTERMODE_UP;\r
+ htim6.Init.Period = 799;\r
+ htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
+ if (HAL_TIM_Base_Init(&htim6) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+\r
+}\r
+\r
+void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)\r
+{\r
+\r
+ GPIO_InitTypeDef GPIO_InitStruct = {0};\r
+ if(tim_encoderHandle->Instance==TIM2)\r
+ {\r
+ /* USER CODE BEGIN TIM2_MspInit 0 */\r
+\r
+ /* USER CODE END TIM2_MspInit 0 */\r
+ /* TIM2 clock enable */\r
+ __HAL_RCC_TIM2_CLK_ENABLE();\r
+ \r
+ __HAL_RCC_GPIOA_CLK_ENABLE();\r
+ __HAL_RCC_GPIOB_CLK_ENABLE();\r
+ /**TIM2 GPIO Configuration \r
+ PA5 ------> TIM2_CH1\r
+ PB3 ------> TIM2_CH2 \r
+ */\r
+ GPIO_InitStruct.Pin = encoder_sx1_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
+ GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;\r
+ HAL_GPIO_Init(encoder_sx1_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ GPIO_InitStruct.Pin = encoder_sx2_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
+ GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;\r
+ HAL_GPIO_Init(encoder_sx2_GPIO_Port, &GPIO_InitStruct);\r
+\r
+ /* USER CODE BEGIN TIM2_MspInit 1 */\r
+\r
+ /* USER CODE END TIM2_MspInit 1 */\r
+ }\r
+ else if(tim_encoderHandle->Instance==TIM5)\r
+ {\r
+ /* USER CODE BEGIN TIM5_MspInit 0 */\r
+\r
+ /* USER CODE END TIM5_MspInit 0 */\r
+ /* TIM5 clock enable */\r
+ __HAL_RCC_TIM5_CLK_ENABLE();\r
+ \r
+ __HAL_RCC_GPIOA_CLK_ENABLE();\r
+ /**TIM5 GPIO Configuration \r
+ PA0/WKUP ------> TIM5_CH1\r
+ PA1 ------> TIM5_CH2 \r
+ */\r
+ GPIO_InitStruct.Pin = encoder_dx1_Pin|encoder_dx2_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
+ GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;\r
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);\r
+\r
+ /* USER CODE BEGIN TIM5_MspInit 1 */\r
+\r
+ /* USER CODE END TIM5_MspInit 1 */\r
+ }\r
+}\r
+\r
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)\r
+{\r
+\r
+ if(tim_baseHandle->Instance==TIM3)\r
+ {\r
+ /* USER CODE BEGIN TIM3_MspInit 0 */\r
+\r
+ /* USER CODE END TIM3_MspInit 0 */\r
+ /* TIM3 clock enable */\r
+ __HAL_RCC_TIM3_CLK_ENABLE();\r
+ /* USER CODE BEGIN TIM3_MspInit 1 */\r
+\r
+ /* USER CODE END TIM3_MspInit 1 */\r
+ }\r
+ else if(tim_baseHandle->Instance==TIM4)\r
+ {\r
+ /* USER CODE BEGIN TIM4_MspInit 0 */\r
+\r
+ /* USER CODE END TIM4_MspInit 0 */\r
+ /* TIM4 clock enable */\r
+ __HAL_RCC_TIM4_CLK_ENABLE();\r
+ /* USER CODE BEGIN TIM4_MspInit 1 */\r
+\r
+ /* USER CODE END TIM4_MspInit 1 */\r
+ }\r
+ else if(tim_baseHandle->Instance==TIM6)\r
+ {\r
+ /* USER CODE BEGIN TIM6_MspInit 0 */\r
+\r
+ /* USER CODE END TIM6_MspInit 0 */\r
+ /* TIM6 clock enable */\r
+ __HAL_RCC_TIM6_CLK_ENABLE();\r
+ /* USER CODE BEGIN TIM6_MspInit 1 */\r
+\r
+ /* USER CODE END TIM6_MspInit 1 */\r
+ }\r
+}\r
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)\r
+{\r
+\r
+ GPIO_InitTypeDef GPIO_InitStruct = {0};\r
+ if(timHandle->Instance==TIM4)\r
+ {\r
+ /* USER CODE BEGIN TIM4_MspPostInit 0 */\r
+\r
+ /* USER CODE END TIM4_MspPostInit 0 */\r
+ \r
+ __HAL_RCC_GPIOD_CLK_ENABLE();\r
+ /**TIM4 GPIO Configuration \r
+ PD14 ------> TIM4_CH3\r
+ PD15 ------> TIM4_CH4 \r
+ */\r
+ GPIO_InitStruct.Pin = pwm2_Pin|pwm1_Pin;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;\r
+ GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;\r
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);\r
+\r
+ /* USER CODE BEGIN TIM4_MspPostInit 1 */\r
+\r
+ /* USER CODE END TIM4_MspPostInit 1 */\r
+ }\r
+\r
+}\r
+\r
+void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle)\r
+{\r
+\r
+ if(tim_encoderHandle->Instance==TIM2)\r
+ {\r
+ /* USER CODE BEGIN TIM2_MspDeInit 0 */\r
+\r
+ /* USER CODE END TIM2_MspDeInit 0 */\r
+ /* Peripheral clock disable */\r
+ __HAL_RCC_TIM2_CLK_DISABLE();\r
+ \r
+ /**TIM2 GPIO Configuration \r
+ PA5 ------> TIM2_CH1\r
+ PB3 ------> TIM2_CH2 \r
+ */\r
+ HAL_GPIO_DeInit(encoder_sx1_GPIO_Port, encoder_sx1_Pin);\r
+\r
+ HAL_GPIO_DeInit(encoder_sx2_GPIO_Port, encoder_sx2_Pin);\r
+\r
+ /* USER CODE BEGIN TIM2_MspDeInit 1 */\r
+\r
+ /* USER CODE END TIM2_MspDeInit 1 */\r
+ }\r
+ else if(tim_encoderHandle->Instance==TIM5)\r
+ {\r
+ /* USER CODE BEGIN TIM5_MspDeInit 0 */\r
+\r
+ /* USER CODE END TIM5_MspDeInit 0 */\r
+ /* Peripheral clock disable */\r
+ __HAL_RCC_TIM5_CLK_DISABLE();\r
+ \r
+ /**TIM5 GPIO Configuration \r
+ PA0/WKUP ------> TIM5_CH1\r
+ PA1 ------> TIM5_CH2 \r
+ */\r
+ HAL_GPIO_DeInit(GPIOA, encoder_dx1_Pin|encoder_dx2_Pin);\r
+\r
+ /* USER CODE BEGIN TIM5_MspDeInit 1 */\r
+\r
+ /* USER CODE END TIM5_MspDeInit 1 */\r
+ }\r
+}\r
+\r
+void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)\r
+{\r
+\r
+ if(tim_baseHandle->Instance==TIM3)\r
+ {\r
+ /* USER CODE BEGIN TIM3_MspDeInit 0 */\r
+\r
+ /* USER CODE END TIM3_MspDeInit 0 */\r
+ /* Peripheral clock disable */\r
+ __HAL_RCC_TIM3_CLK_DISABLE();\r
+\r
+ /* TIM3 interrupt Deinit */\r
+ HAL_NVIC_DisableIRQ(TIM3_IRQn);\r
+ /* USER CODE BEGIN TIM3_MspDeInit 1 */\r
+\r
+ /* USER CODE END TIM3_MspDeInit 1 */\r
+ }\r
+ else if(tim_baseHandle->Instance==TIM4)\r
+ {\r
+ /* USER CODE BEGIN TIM4_MspDeInit 0 */\r
+\r
+ /* USER CODE END TIM4_MspDeInit 0 */\r
+ /* Peripheral clock disable */\r
+ __HAL_RCC_TIM4_CLK_DISABLE();\r
+ /* USER CODE BEGIN TIM4_MspDeInit 1 */\r
+\r
+ /* USER CODE END TIM4_MspDeInit 1 */\r
+ }\r
+ else if(tim_baseHandle->Instance==TIM6)\r
+ {\r
+ /* USER CODE BEGIN TIM6_MspDeInit 0 */\r
+\r
+ /* USER CODE END TIM6_MspDeInit 0 */\r
+ /* Peripheral clock disable */\r
+ __HAL_RCC_TIM6_CLK_DISABLE();\r
+\r
+ /* TIM6 interrupt Deinit */\r
+ HAL_NVIC_DisableIRQ(TIM6_DAC_IRQn);\r
+ /* USER CODE BEGIN TIM6_MspDeInit 1 */\r
+\r
+ /* USER CODE END TIM6_MspDeInit 1 */\r
+ }\r
+} \r
+\r
+/* USER CODE BEGIN 1 */\r
+\r
+/* USER CODE END 1 */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * File Name : USART.c\r
+ * Description : This file provides code for the configuration\r
+ * of the USART instances.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ * opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "usart.h"\r
+\r
+/* USER CODE BEGIN 0 */\r
+\r
+/* USER CODE END 0 */\r
+\r
+UART_HandleTypeDef huart6;\r
+\r
+/* USART6 init function */\r
+\r
+void MX_USART6_UART_Init(void)\r
+{\r
+\r
+ huart6.Instance = USART6;\r
+ huart6.Init.BaudRate = 115200;\r
+ huart6.Init.WordLength = UART_WORDLENGTH_8B;\r
+ huart6.Init.StopBits = UART_STOPBITS_1;\r
+ huart6.Init.Parity = UART_PARITY_NONE;\r
+ huart6.Init.Mode = UART_MODE_TX_RX;\r
+ huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE;\r
+ huart6.Init.OverSampling = UART_OVERSAMPLING_16;\r
+ huart6.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;\r
+ huart6.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;\r
+ if (HAL_UART_Init(&huart6) != HAL_OK)\r
+ {\r
+ Error_Handler();\r
+ }\r
+\r
+}\r
+\r
+void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)\r
+{\r
+\r
+ GPIO_InitTypeDef GPIO_InitStruct = {0};\r
+ if(uartHandle->Instance==USART6)\r
+ {\r
+ /* USER CODE BEGIN USART6_MspInit 0 */\r
+\r
+ /* USER CODE END USART6_MspInit 0 */\r
+ /* USART6 clock enable */\r
+ __HAL_RCC_USART6_CLK_ENABLE();\r
+ \r
+ __HAL_RCC_GPIOC_CLK_ENABLE();\r
+ /**USART6 GPIO Configuration \r
+ PC6 ------> USART6_TX\r
+ PC7 ------> USART6_RX \r
+ */\r
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;\r
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;\r
+ GPIO_InitStruct.Pull = GPIO_NOPULL;\r
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;\r
+ GPIO_InitStruct.Alternate = GPIO_AF8_USART6;\r
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);\r
+\r
+ /* USER CODE BEGIN USART6_MspInit 1 */\r
+\r
+ /* USER CODE END USART6_MspInit 1 */\r
+ }\r
+}\r
+\r
+void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)\r
+{\r
+\r
+ if(uartHandle->Instance==USART6)\r
+ {\r
+ /* USER CODE BEGIN USART6_MspDeInit 0 */\r
+\r
+ /* USER CODE END USART6_MspDeInit 0 */\r
+ /* Peripheral clock disable */\r
+ __HAL_RCC_USART6_CLK_DISABLE();\r
+ \r
+ /**USART6 GPIO Configuration \r
+ PC6 ------> USART6_TX\r
+ PC7 ------> USART6_RX \r
+ */\r
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);\r
+\r
+ /* USART6 interrupt Deinit */\r
+ HAL_NVIC_DisableIRQ(USART6_IRQn);\r
+ /* USER CODE BEGIN USART6_MspDeInit 1 */\r
+\r
+ /* USER CODE END USART6_MspDeInit 1 */\r
+ }\r
+} \r
+\r
+/* USER CODE BEGIN 1 */\r
+\r
+/* USER CODE END 1 */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
PF15.PinState=GPIO_PIN_SET
PF15.Signal=GPIO_Output
PinOutPanel.RotationAngle=0
-ProjectManager.AskForMigrate=true
+ProjectManager.AskForMigrate=false
ProjectManager.BackupPrevious=false
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
-ProjectManager.CoupleFile=false
+ProjectManager.CoupleFile=true
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=true
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM4_Init-TIM4-false-HAL-true,6-MX_TIM5_Init-TIM5-false-HAL-true,7-MX_USART6_UART_Init-USART6-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM4_Init-TIM4-false-HAL-true,6-MX_TIM5_Init-TIM5-false-HAL-true,7-MX_USART6_UART_Init-USART6-false-HAL-true,8-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true
RCC.CECFreq_Value=32786.88524590164
RCC.DFSDMFreq_Value=16000000
RCC.FamilyName=M
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1819916407084413083" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436046405535356377" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1819916407084413083" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436046405535356377" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1819916407084413083" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436046405535356377" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
- <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1819916407084413083" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
+ <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436046405535356377" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>