]> git.leonardobizzoni.com Git - pioneer-stm32/commitdiff
separate peripheral init
authorFederica Di Lauro <federicadilauro1998@gmail.com>
Thu, 6 Feb 2020 13:14:20 +0000 (14:14 +0100)
committerFederica Di Lauro <federicadilauro1998@gmail.com>
Thu, 6 Feb 2020 13:14:20 +0000 (14:14 +0100)
14 files changed:
otto_controller/.mxproject
otto_controller/.settings/language.settings.xml
otto_controller/Core/Inc/gpio.h [new file with mode: 0644]
otto_controller/Core/Inc/main.h
otto_controller/Core/Inc/tim.h [new file with mode: 0644]
otto_controller/Core/Inc/usart.h [new file with mode: 0644]
otto_controller/Core/Src/gpio.c [new file with mode: 0644]
otto_controller/Core/Src/main.cpp
otto_controller/Core/Src/stm32f7xx_hal_msp.c
otto_controller/Core/Src/tim.c [new file with mode: 0644]
otto_controller/Core/Src/usart.c [new file with mode: 0644]
otto_controller/otto_controller.ioc
utils/pid_tuning/otto_pid_tuning/.settings/language.settings.xml
utils/proto_test/otto_proto_test/.settings/language.settings.xml

index be935990a78a8158be1844448a1f3dc0161800e0..2d84f4e53ea7a45f0b9a147ff8d6cccbf74091ad 100644 (file)
@@ -1,25 +1,29 @@
 [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
index 65e4170485b2e80e1837d16550b2b4e008c04077..c67809ccb246f94bb5b89677e9a972080f6cfd7f 100644 (file)
@@ -6,7 +6,7 @@
                        <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 &quot;${INPUTS}&quot;" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>
@@ -18,7 +18,7 @@
                        <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 &quot;${INPUTS}&quot;" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>
diff --git a/otto_controller/Core/Inc/gpio.h b/otto_controller/Core/Inc/gpio.h
new file mode 100644 (file)
index 0000000..6a60e56
--- /dev/null
@@ -0,0 +1,57 @@
+/**\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>&copy; 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
index 6b45ffa164f54b4a2a29ce231076f026e030efc2..80943f3956f409f5a055d9b3c4706a309a2ac5da 100644 (file)
@@ -50,8 +50,6 @@ extern "C" {
 \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
diff --git a/otto_controller/Core/Inc/tim.h b/otto_controller/Core/Inc/tim.h
new file mode 100644 (file)
index 0000000..75954bb
--- /dev/null
@@ -0,0 +1,68 @@
+/**\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>&copy; 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
diff --git a/otto_controller/Core/Inc/usart.h b/otto_controller/Core/Inc/usart.h
new file mode 100644 (file)
index 0000000..a895c29
--- /dev/null
@@ -0,0 +1,58 @@
+/**\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>&copy; 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
diff --git a/otto_controller/Core/Src/gpio.c b/otto_controller/Core/Src/gpio.c
new file mode 100644 (file)
index 0000000..7c99329
--- /dev/null
@@ -0,0 +1,113 @@
+/**\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>&copy; 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
index bb6ae729aca24c167aa7925105844a6dbbb15c5f..3dcab1c46a3106174c98a4aa8d61607917c636a0 100644 (file)
@@ -20,6 +20,9 @@
 \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
@@ -101,13 +96,6 @@ uint8_t mode = 0;  //setup mode
 \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
@@ -119,12 +107,14 @@ static void MX_NVIC_Init(void);
 /* 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
@@ -183,51 +173,56 @@ int main(void) {
 }\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
@@ -239,335 +234,6 @@ static void MX_NVIC_Init(void) {
   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
@@ -635,10 +301,11 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
 /* 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
index 2918b9b515af49107b110a7625b9a9f60ed9e4a8..6242137f56efc5db420f9d2f5489821bd3c7aae1 100644 (file)
@@ -58,9 +58,7 @@
 /* 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
@@ -72,6 +70,8 @@ void HAL_MspInit(void)
   __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
@@ -79,311 +79,6 @@ void HAL_MspInit(void)
   /* 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
diff --git a/otto_controller/Core/Src/tim.c b/otto_controller/Core/Src/tim.c
new file mode 100644 (file)
index 0000000..c9de2cd
--- /dev/null
@@ -0,0 +1,417 @@
+/**\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>&copy; 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
diff --git a/otto_controller/Core/Src/usart.c b/otto_controller/Core/Src/usart.c
new file mode 100644 (file)
index 0000000..7b56c72
--- /dev/null
@@ -0,0 +1,110 @@
+/**\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>&copy; 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
index 17a05869b09f165df032d433fd8e97a75b934648..51bdd3c32c26c6adffa816d8e05f9d008731f646 100644 (file)
@@ -141,11 +141,11 @@ PF15.Locked=true
 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
@@ -167,7 +167,7 @@ ProjectManager.StackSize=0x400
 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
index 65e4170485b2e80e1837d16550b2b4e008c04077..c67809ccb246f94bb5b89677e9a972080f6cfd7f 100644 (file)
@@ -6,7 +6,7 @@
                        <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 &quot;${INPUTS}&quot;" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>
@@ -18,7 +18,7 @@
                        <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 &quot;${INPUTS}&quot;" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>
index 65e4170485b2e80e1837d16550b2b4e008c04077..c67809ccb246f94bb5b89677e9a972080f6cfd7f 100644 (file)
@@ -6,7 +6,7 @@
                        <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 &quot;${INPUTS}&quot;" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>
@@ -18,7 +18,7 @@
                        <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 &quot;${INPUTS}&quot;" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
                                <language-scope id="org.eclipse.cdt.core.gcc"/>
                                <language-scope id="org.eclipse.cdt.core.g++"/>
                        </provider>