diff --git a/.gitignore b/.gitignore index 4b9e4064f0e338b16271541494e610ee40e7bdad..a2fe82280f45deac7060b01d18fb58de60a2674f 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ Thumbs.db Drivers/ MDK-ARM/bin/* +.mxproject # Keil # ######## diff --git a/.mxproject b/.mxproject deleted file mode 100644 index 3904f68b0186aa65e07cfb81d7bf48ffc3ac5713..0000000000000000000000000000000000000000 --- a/.mxproject +++ /dev/null @@ -1,14 +0,0 @@ -[PreviousLibFiles] -LibFiles=Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f427xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; - -[PreviousUsedKeilFiles] -SourceFiles=..\Src\main.c;..\Src\gpio.c;..\Src\adc.c;..\Src\can.c;..\Src\dma.c;..\Src\spi.c;..\Src\tim.c;..\Src\usart.c;..\Src\stm32f4xx_it.c;..\Src\stm32f4xx_hal_msp.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;..\\Src/system_stm32f4xx.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;..\\Src/system_stm32f4xx.c;..\Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;; -HeaderPath=..\Drivers\STM32F4xx_HAL_Driver\Inc;..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F4xx\Include;..\Drivers\CMSIS\Include;..\Inc; -CDefines=USE_HAL_DRIVER;STM32F427xx;USE_HAL_DRIVER;USE_HAL_DRIVER; - -[PreviousGenFiles] -HeaderPath=C:/Users/Sébastien/Documents/robomaster_allrobots/Inc -HeaderFiles=gpio.h;adc.h;can.h;dma.h;spi.h;tim.h;usart.h;stm32f4xx_it.h;stm32f4xx_hal_conf.h;main.h; -SourcePath=C:/Users/Sébastien/Documents/robomaster_allrobots/Src -SourceFiles=gpio.c;adc.c;can.c;dma.c;spi.c;tim.c;usart.c;stm32f4xx_it.c;stm32f4xx_hal_msp.c;main.c; - diff --git a/Inc/stm32f4xx_it.h b/Inc/stm32f4xx_it.h index 572ab75ad75177876c9dcc7a179697151cc44165..973203062ce68c336d363cdb13d54e355df98f07 100644 --- a/Inc/stm32f4xx_it.h +++ b/Inc/stm32f4xx_it.h @@ -56,6 +56,7 @@ void SVC_Handler(void); void DebugMon_Handler(void); void PendSV_Handler(void); void SysTick_Handler(void); +void DMA1_Stream0_IRQHandler(void); void CAN1_TX_IRQHandler(void); void CAN1_RX0_IRQHandler(void); void USART1_IRQHandler(void); @@ -64,6 +65,7 @@ void DMA2_Stream2_IRQHandler(void); void DMA2_Stream6_IRQHandler(void); void DMA2_Stream7_IRQHandler(void); void USART6_IRQHandler(void); +void UART8_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/MDK-ARM/RobotMaster_allRobots.uvprojx b/MDK-ARM/RobotMaster_allRobots.uvprojx index 6b27d694a2c31c7e92a3ee3e7e7a2fd40c5d52ba..d542a1dc36e4a98053fc3dd8d04de0e627c7bdfd 100644 --- a/MDK-ARM/RobotMaster_allRobots.uvprojx +++ b/MDK-ARM/RobotMaster_allRobots.uvprojx @@ -339,7 +339,7 @@ <MiscControls></MiscControls> <Define>USE_HAL_DRIVER,STM32F427xx,USE_HAL_DRIVER,STM32F427xx</Define> <Undefine></Undefine> - <IncludePath>../Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc; ../Drivers/CMSIS/Device/ST/STM32F4xx/Include; ../Drivers/CMSIS/Include;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy</IncludePath> + <IncludePath>../Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc; ../Drivers/CMSIS/Device/ST/STM32F4xx/Include; ../Drivers/CMSIS/Include; ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy</IncludePath> </VariousControls> </Cads> <Aads> diff --git a/RobotMaster_allRobots.ioc b/RobotMaster_allRobots.ioc index 8ab2d6c26502298fe0c8e576ea8dc493b419c3b8..fc4beceab38b3013c74432274e8f91eac16ebe5e 100644 --- a/RobotMaster_allRobots.ioc +++ b/RobotMaster_allRobots.ioc @@ -1,360 +1,373 @@ #MicroXplorer Configuration settings - do not modify -ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_6 -ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag -ADC1.NbrOfConversionFlag=1 -ADC1.Rank-0\#ChannelRegularConversion=1 -ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES -ADC1.master=1 -CAN1.ABOM=ENABLE -CAN1.BS1=CAN_BS1_10TQ -CAN1.BS2=CAN_BS2_4TQ -CAN1.CalculateBaudRate=933333 -CAN1.CalculateTimeBit=1071.42 -CAN1.CalculateTimeQuantum=71.42857142857143 -CAN1.IPParameters=CalculateTimeQuantum,Prescaler,BS1,BS2,ABOM,CalculateTimeBit,CalculateBaudRate -CAN1.Prescaler=3 -Dma.Request0=USART1_RX -Dma.Request1=USART1_TX -Dma.Request2=USART6_RX -Dma.Request3=USART6_TX -Dma.RequestsNb=4 -Dma.USART1_RX.0.Direction=DMA_PERIPH_TO_MEMORY -Dma.USART1_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE -Dma.USART1_RX.0.Instance=DMA2_Stream2 -Dma.USART1_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE -Dma.USART1_RX.0.MemInc=DMA_MINC_ENABLE -Dma.USART1_RX.0.Mode=DMA_CIRCULAR -Dma.USART1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE -Dma.USART1_RX.0.PeriphInc=DMA_PINC_DISABLE -Dma.USART1_RX.0.Priority=DMA_PRIORITY_LOW -Dma.USART1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode -Dma.USART1_TX.1.Direction=DMA_MEMORY_TO_PERIPH -Dma.USART1_TX.1.FIFOMode=DMA_FIFOMODE_DISABLE -Dma.USART1_TX.1.Instance=DMA2_Stream7 -Dma.USART1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE +Mcu.Family=STM32F4 +Dma.USART6_TX.3.MemInc=DMA_MINC_ENABLE +ProjectManager.MainLocation=Src +RCC.CortexFreq_Value=168000000 +Dma.USART6_TX.3.PeriphInc=DMA_PINC_DISABLE +PG6.Signal=GPIO_Output +PG9.GPIOParameters=GPIO_Label +ProjectManager.KeepUserCode=true +PE11.GPIOParameters=GPIO_Label +Mcu.UserName=STM32F427IIHx +SPI1.VirtualType=VM_MASTER Dma.USART1_TX.1.MemInc=DMA_MINC_ENABLE -Dma.USART1_TX.1.Mode=DMA_NORMAL -Dma.USART1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE -Dma.USART1_TX.1.PeriphInc=DMA_PINC_DISABLE -Dma.USART1_TX.1.Priority=DMA_PRIORITY_LOW -Dma.USART1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +UART8.IPParameters=VirtualMode +PG2.Signal=GPIO_Output +TIM1.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Prescaler,Period,Pulse-PWM Generation1 CH1,Pulse-PWM Generation2 CH2 +PE11.GPIO_Label=BOARD_LED_RED +USART1.BaudRate=100000 +PG8.Signal=GPIO_Output +PG4.Signal=GPIO_Output Dma.USART6_RX.2.Direction=DMA_PERIPH_TO_MEMORY -Dma.USART6_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE -Dma.USART6_RX.2.Instance=DMA2_Stream1 +PG8.Locked=true +PG6.Locked=true +PG4.Locked=true +RCC.PLLCLKFreq_Value=168000000 +PG2.Locked=true +PG6.GPIO_Label=BOARD_LED_C +RCC.PLLQCLKFreq_Value=84000000 +PG3.GPIOParameters=GPIO_Label +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_USART6_UART_Init-USART6-false-HAL-true,8-MX_CAN1_Init-CAN1-false-HAL-true,9-MX_UART8_Init-UART8-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true +PD0.GPIO_Label=CAN1_RX +RCC.RTCFreq_Value=32000 +PA6.GPIO_Label=OLED_Analog +PB6.GPIO_Label=ReceiverRC_TX +PD0.Locked=true +TIM1.Pulse-PWM\ Generation1\ CH1=1000 +PH5.GPIO_Label=BOARD_POWER4_CTRL +PG14.GPIOParameters=GPIO_Label +SH.S_TIM1_CH1.ConfNb=1 +USART1.IPParameters=VirtualMode,BaudRate,Parity,Mode +PG5.GPIO_Label=BOARD_LED_D +PG2.GPIOParameters=GPIO_Label Dma.USART6_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE -Dma.USART6_RX.2.MemInc=DMA_MINC_ENABLE -Dma.USART6_RX.2.Mode=DMA_CIRCULAR -Dma.USART6_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE -Dma.USART6_RX.2.PeriphInc=DMA_PINC_DISABLE -Dma.USART6_RX.2.Priority=DMA_PRIORITY_LOW -Dma.USART6_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode -Dma.USART6_TX.3.Direction=DMA_MEMORY_TO_PERIPH -Dma.USART6_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE -Dma.USART6_TX.3.Instance=DMA2_Stream6 -Dma.USART6_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE -Dma.USART6_TX.3.MemInc=DMA_MINC_ENABLE -Dma.USART6_TX.3.Mode=DMA_NORMAL +PinOutPanel.RotationAngle=0 +PH5.GPIOParameters=GPIO_Label +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +ProjectManager.StackSize=0x400 Dma.USART6_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE -Dma.USART6_TX.3.PeriphInc=DMA_PINC_DISABLE -Dma.USART6_TX.3.Priority=DMA_PRIORITY_LOW -Dma.USART6_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode -File.Version=6 -GPIO.groupedBy=Group By Peripherals -KeepUserPlacement=false -Mcu.Family=STM32F4 -Mcu.IP0=ADC1 -Mcu.IP1=CAN1 -Mcu.IP10=USART6 -Mcu.IP2=DMA -Mcu.IP3=NVIC +RCC.SAI_BClocksFreq_Value=24500000 Mcu.IP4=RCC +RCC.FCLKCortexFreq_Value=168000000 Mcu.IP5=SPI1 -Mcu.IP6=SYS -Mcu.IP7=TIM1 -Mcu.IP8=UART8 -Mcu.IP9=USART1 +Mcu.IP2=DMA +NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false +Mcu.IP3=NVIC +Mcu.IP0=ADC1 +Mcu.IP1=CAN1 +PH4.GPIOParameters=GPIO_Label +PH5.Signal=GPIO_Output +TIM1.Prescaler=167 +Mcu.UserConstants= +PH3.Locked=true +Dma.USART6_TX.3.Priority=DMA_PRIORITY_LOW +NVIC.CAN1_TX_IRQn=true\:0\:0\:false\:false\:true\:true\:true +Mcu.ThirdPartyNb=0 +SPI1.Direction=SPI_DIRECTION_1LINE +PH0/OSC_IN.Mode=HSE-External-Oscillator +RCC.HCLKFreq_Value=168000000 Mcu.IPNb=11 -Mcu.Name=STM32F427I(G-I)Hx -Mcu.Package=UFBGA176 +RCC.I2SClocksFreq_Value=192000000 +ProjectManager.PreviousToolchain= +RCC.APB2TimFreq_Value=168000000 +PB6.Signal=USART1_TX +RCC.VcooutputI2S=192000000 +PG8.GPIOParameters=GPIO_Label +PB6.Mode=Asynchronous +PH1/OSC_OUT.Signal=RCC_OSC_OUT +SPI1.CalculateBaudRate=1.3125 MBits/s +Dma.USART6_RX.2.Instance=DMA2_Stream1 +Mcu.Pin6=PB9 +PD0.Signal=CAN1_RX +Mcu.Pin7=PB7 +Mcu.Pin8=PB6 +Dma.UART8_TX.4.Priority=DMA_PRIORITY_LOW +Mcu.Pin9=PD0 +RCC.VCOSAIOutputFreq_Value=98000000 +PE1.Signal=UART8_TX +RCC.AHBFreq_Value=168000000 +Dma.USART1_RX.0.Priority=DMA_PRIORITY_LOW Mcu.Pin0=PE1 Mcu.Pin1=PE0 -Mcu.Pin10=PG9 -Mcu.Pin11=PD1 -Mcu.Pin12=PA9 -Mcu.Pin13=PH2 -Mcu.Pin14=PA8 -Mcu.Pin15=PH0/OSC_IN -Mcu.Pin16=PH3 -Mcu.Pin17=PH1/OSC_OUT -Mcu.Pin18=PH4 -Mcu.Pin19=PG8 +GPIO.groupedBy=Group By Peripherals Mcu.Pin2=PG14 -Mcu.Pin20=PH5 -Mcu.Pin21=PG7 -Mcu.Pin22=PG6 -Mcu.Pin23=PG5 -Mcu.Pin24=PG4 -Mcu.Pin25=PG3 -Mcu.Pin26=PG2 -Mcu.Pin27=PG1 -Mcu.Pin28=PA6 -Mcu.Pin29=PE11 Mcu.Pin3=PB3 -Mcu.Pin30=PA7 -Mcu.Pin31=PF14 -Mcu.Pin32=PB10 -Mcu.Pin33=VP_SYS_VS_Systick Mcu.Pin4=PA14 Mcu.Pin5=PA13 -Mcu.Pin6=PB9 -Mcu.Pin7=PB7 -Mcu.Pin8=PB6 -Mcu.Pin9=PD0 -Mcu.PinsNb=34 -Mcu.ThirdPartyNb=0 -Mcu.UserConstants= -Mcu.UserName=STM32F427IIHx -MxCube.Version=6.1.1 -MxDb.Version=DB.6.0.10 -NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.CAN1_RX0_IRQn=true\:0\:0\:false\:false\:true\:true\:true -NVIC.CAN1_TX_IRQn=true\:0\:0\:false\:false\:true\:true\:true -NVIC.DMA2_Stream1_IRQn=true\:0\:0\:false\:false\:true\:false\:true -NVIC.DMA2_Stream2_IRQn=true\:0\:0\:false\:false\:true\:false\:true -NVIC.DMA2_Stream6_IRQn=true\:0\:0\:false\:false\:true\:false\:true -NVIC.DMA2_Stream7_IRQn=true\:0\:0\:false\:false\:true\:false\:true -NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.ForceEnableDMAVector=true -NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 -NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true -NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true -NVIC.USART6_IRQn=true\:0\:0\:false\:false\:true\:true\:true +ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_6 +ProjectManager.ProjectBuild=false +RCC.HSE_VALUE=12000000 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -PA13.Mode=Serial_Wire -PA13.Signal=SYS_JTMS-SWDIO -PA14.Mode=Serial_Wire -PA14.Signal=SYS_JTCK-SWCLK -PA6.GPIOParameters=GPIO_Label -PA6.GPIO_Label=OLED_Analog -PA6.Locked=true -PA6.Signal=ADCx_IN6 -PA7.GPIOParameters=GPIO_Label -PA7.GPIO_Label=OLED_MOSI -PA7.Locked=true -PA7.Mode=Simplex_Bidirectional_Master -PA7.Signal=SPI1_MOSI -PA8.Signal=S_TIM1_CH1 -PA9.Signal=S_TIM1_CH2 -PB10.GPIOParameters=GPIO_Label -PB10.GPIO_Label=OLED_RST -PB10.Locked=true -PB10.Signal=GPIO_Output -PB3.GPIOParameters=GPIO_Label -PB3.GPIO_Label=OLED_SCK -PB3.Locked=true +NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false PB3.Mode=Simplex_Bidirectional_Master -PB3.Signal=SPI1_SCK -PB6.GPIOParameters=GPIO_Label -PB6.GPIO_Label=ReceiverRC_TX -PB6.Mode=Asynchronous -PB6.Signal=USART1_TX -PB7.GPIOParameters=GPIO_Label -PB7.GPIO_Label=ReceiverRC_RX -PB7.Mode=Asynchronous -PB7.Signal=USART1_RX -PB9.GPIOParameters=GPIO_Label -PB9.GPIO_Label=OLED_DC -PB9.Locked=true -PB9.Signal=GPIO_Output -PD0.GPIOParameters=GPIO_Label -PD0.GPIO_Label=CAN1_RX -PD0.Locked=true -PD0.Mode=CAN_Activate -PD0.Signal=CAN1_RX +Mcu.IP10=USART6 PD1.GPIOParameters=GPIO_Label +NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true PD1.GPIO_Label=CAN1_TX -PD1.Locked=true -PD1.Mode=CAN_Activate -PD1.Signal=CAN1_TX +PG14.Mode=Asynchronous +PG1.GPIOParameters=GPIO_Label +Dma.USART6_RX.2.Priority=DMA_PRIORITY_LOW +ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.25.2 +MxDb.Version=DB.6.0.10 PE0.GPIOParameters=GPIO_Label -PE0.GPIO_Label=DEBUG_RX -PE0.Locked=true -PE0.Mode=Asynchronous -PE0.Signal=UART8_RX -PE1.GPIOParameters=GPIO_Label -PE1.GPIO_Label=DEBUG_TX +ProjectManager.BackupPrevious=false +RCC.VCOInputFreq_Value=2000000 +TIM1.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 +PA14.Mode=Serial_Wire +File.Version=6 +PG4.GPIO_Label=BOARD_LED_E +PB3.GPIOParameters=GPIO_Label +PH3.GPIOParameters=GPIO_Label +PB7.Signal=USART1_RX +PA8.Signal=S_TIM1_CH1 PE1.Locked=true -PE1.Mode=Asynchronous -PE1.Signal=UART8_TX -PE11.GPIOParameters=GPIO_Label -PE11.GPIO_Label=BOARD_LED_RED -PE11.Locked=true -PE11.Signal=GPIO_Output -PF14.GPIOParameters=GPIO_Label -PF14.GPIO_Label=BOARD_LED_GREEN -PF14.Locked=true +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false +SH.ADCx_IN6.ConfNb=1 +Dma.USART1_RX.0.MemInc=DMA_MINC_ENABLE +PH1/OSC_OUT.Mode=HSE-External-Oscillator +Dma.RequestsNb=5 +PB6.GPIOParameters=GPIO_Label +ProjectManager.HalAssertFull=false +ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES +Dma.USART1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +ProjectManager.ProjectName=RobotMaster_allRobots +PB7.GPIO_Label=ReceiverRC_RX +RCC.MCO2PinFreq_Value=168000000 +CAN1.Prescaler=3 +PB9.Signal=GPIO_Output +Mcu.Package=UFBGA176 +PA6.Signal=ADCx_IN6 +NVIC.DMA2_Stream7_IRQn=true\:0\:0\:false\:false\:true\:false\:true +PA7.Locked=true +PG5.GPIOParameters=GPIO_Label +TIM1.Pulse-PWM\ Generation2\ CH2=1000 +USART6.VirtualMode=VM_ASYNC +ProjectManager.ToolChainLocation= +RCC.LSI_VALUE=32000 +VP_SYS_VS_Systick.Signal=SYS_VS_Systick +Dma.USART1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +PE0.GPIO_Label=DEBUG_RX +Dma.UART8_TX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +PH3.GPIO_Label=BOARD_POWER2_CTRL +Dma.UART8_TX.4.MemInc=DMA_MINC_ENABLE +PH2.Signal=GPIO_Output +Dma.USART1_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE +RCC.APB2CLKDivider=RCC_HCLK_DIV2 +NVIC.DMA2_Stream2_IRQn=true\:0\:0\:false\:false\:true\:false\:true +Dma.USART6_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.Request2=USART6_RX PF14.Signal=GPIO_Output -PG1.GPIOParameters=GPIO_Label -PG1.GPIO_Label=BOARD_LED_H -PG1.Locked=true -PG1.Signal=GPIO_Output -PG14.GPIOParameters=GPIO_Label -PG14.GPIO_Label=RefereeSystem_Tx -PG14.Mode=Asynchronous -PG14.Signal=USART6_TX -PG2.GPIOParameters=GPIO_Label +Dma.Request1=USART1_TX +RCC.APB1TimFreq_Value=84000000 +Dma.Request4=UART8_TX +Dma.Request3=USART6_TX +NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +Dma.USART1_RX.0.Mode=DMA_CIRCULAR +Dma.USART1_TX.1.Priority=DMA_PRIORITY_LOW +NVIC.DMA1_Stream0_IRQn=true\:0\:0\:false\:false\:true\:false\:true +TIM1.Period=9999 +PB10.GPIOParameters=GPIO_Label +NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true +Dma.Request0=USART1_RX +SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64 +CAN1.CalculateTimeBit=1071.42 +Dma.USART1_RX.0.Instance=DMA2_Stream2 +ProjectManager.CustomerFirmwarePackage= +RCC.SAI_AClocksFreq_Value=24500000 +PB3.Locked=true PG2.GPIO_Label=BOARD_LED_G -PG2.Locked=true -PG2.Signal=GPIO_Output -PG3.GPIOParameters=GPIO_Label -PG3.GPIO_Label=BOARD_LED_F -PG3.Locked=true +CAN1.CalculateTimeQuantum=71.42857142857143 +Dma.USART1_TX.1.Direction=DMA_MEMORY_TO_PERIPH +PB3.GPIO_Label=OLED_SCK +PA6.GPIOParameters=GPIO_Label +RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE +Dma.USART1_TX.1.Instance=DMA2_Stream7 +ProjectManager.ProjectFileName=RobotMaster_allRobots.ioc +NVIC.UART8_IRQn=true\:0\:0\:false\:false\:true\:true\:true +PG7.Locked=true +ADC1.Rank-0\#ChannelRegularConversion=1 +PG7.Signal=GPIO_Output +PA7.Mode=Simplex_Bidirectional_Master +Dma.USART1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +PB9.GPIO_Label=OLED_DC +Mcu.PinsNb=34 +ProjectManager.NoMain=false +SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler PG3.Signal=GPIO_Output -PG4.GPIOParameters=GPIO_Label -PG4.GPIO_Label=BOARD_LED_E -PG4.Locked=true -PG4.Signal=GPIO_Output -PG5.GPIOParameters=GPIO_Label -PG5.GPIO_Label=BOARD_LED_D +SH.ADCx_IN6.0=ADC1_IN6,IN6 +ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag +USART6.IPParameters=VirtualMode +PG1.Signal=GPIO_Output PG5.Locked=true +Dma.USART1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode PG5.Signal=GPIO_Output -PG6.GPIOParameters=GPIO_Label -PG6.GPIO_Label=BOARD_LED_C -PG6.Locked=true -PG6.Signal=GPIO_Output -PG7.GPIOParameters=GPIO_Label -PG7.GPIO_Label=BOARD_LED_B -PG7.Locked=true -PG7.Signal=GPIO_Output -PG8.GPIOParameters=GPIO_Label -PG8.GPIO_Label=BOARD_LED_A -PG8.Locked=true -PG8.Signal=GPIO_Output -PG9.GPIOParameters=GPIO_Label -PG9.GPIO_Label=RefereeSystem_Rx -PG9.Mode=Asynchronous PG9.Signal=USART6_RX -PH0/OSC_IN.Mode=HSE-External-Oscillator -PH0/OSC_IN.Signal=RCC_OSC_IN -PH1/OSC_OUT.Mode=HSE-External-Oscillator -PH1/OSC_OUT.Signal=RCC_OSC_OUT -PH2.GPIOParameters=GPIO_Label -PH2.GPIO_Label=BOARD_POWER1_CTRL -PH2.Locked=true -PH2.Signal=GPIO_Output -PH3.GPIOParameters=GPIO_Label -PH3.GPIO_Label=BOARD_POWER2_CTRL -PH3.Locked=true -PH3.Signal=GPIO_Output -PH4.GPIOParameters=GPIO_Label -PH4.GPIO_Label=BOARD_POWER3_CTRL -PH4.Locked=true -PH4.Signal=GPIO_Output -PH5.GPIOParameters=GPIO_Label -PH5.GPIO_Label=BOARD_POWER4_CTRL -PH5.Locked=true -PH5.Signal=GPIO_Output -PinOutPanel.CurrentBGAView=Top -PinOutPanel.RotationAngle=0 -ProjectManager.AskForMigrate=true -ProjectManager.BackupPrevious=false -ProjectManager.CompilerOptimize=6 -ProjectManager.ComputerToolchain=false -ProjectManager.CoupleFile=true -ProjectManager.CustomerFirmwarePackage= +PG3.Locked=true +PG1.Locked=true +CAN1.IPParameters=CalculateTimeQuantum,Prescaler,BS1,BS2,ABOM,CalculateTimeBit,CalculateBaudRate +PE1.Mode=Asynchronous +CAN1.CalculateBaudRate=933333 +PG9.Mode=Asynchronous +PD1.Signal=CAN1_TX ProjectManager.DefaultFWLocation=true +RCC.VCOSAIOutputFreq_ValueQ=24500000 +PF14.GPIO_Label=BOARD_LED_GREEN +NVIC.DMA2_Stream1_IRQn=true\:0\:0\:false\:false\:true\:false\:true ProjectManager.DeletePrevious=true -ProjectManager.DeviceId=STM32F427IIHx -ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.25.2 -ProjectManager.FreePins=false -ProjectManager.HalAssertFull=false -ProjectManager.HeapSize=0x200 -ProjectManager.KeepUserCode=true -ProjectManager.LastFirmware=true -ProjectManager.LibraryCopy=1 -ProjectManager.MainLocation=Src -ProjectManager.NoMain=false -ProjectManager.PreviousToolchain= -ProjectManager.ProjectBuild=false -ProjectManager.ProjectFileName=RobotMaster_allRobots.ioc -ProjectManager.ProjectName=RobotMaster_allRobots -ProjectManager.RegisterCallBack= -ProjectManager.StackSize=0x400 -ProjectManager.TargetToolchain=MDK-ARM V5.27 -ProjectManager.ToolChainLocation= -ProjectManager.UnderRoot=false -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_USART6_UART_Init-USART6-false-HAL-true,8-MX_CAN1_Init-CAN1-false-HAL-true,9-MX_UART8_Init-UART8-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true -RCC.48MHZClocksFreq_Value=84000000 -RCC.AHBFreq_Value=168000000 RCC.APB1CLKDivider=RCC_HCLK_DIV4 -RCC.APB1Freq_Value=42000000 -RCC.APB1TimFreq_Value=84000000 -RCC.APB2CLKDivider=RCC_HCLK_DIV2 -RCC.APB2Freq_Value=84000000 -RCC.APB2TimFreq_Value=168000000 -RCC.CortexFreq_Value=168000000 -RCC.EthernetFreq_Value=168000000 -RCC.FCLKCortexFreq_Value=168000000 +UART8.VirtualMode=Asynchronous +PB10.Locked=true +Dma.UART8_TX.4.Direction=DMA_MEMORY_TO_PERIPH +Dma.USART6_TX.3.Mode=DMA_NORMAL +PinOutPanel.CurrentBGAView=Top RCC.FamilyName=M -RCC.HCLKFreq_Value=168000000 -RCC.HSE_VALUE=12000000 -RCC.HSI_VALUE=16000000 -RCC.I2SClocksFreq_Value=192000000 -RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueQ,VcooutputI2S,VcooutputI2SQ +NVIC.USART6_IRQn=true\:0\:0\:false\:false\:true\:true\:true +PB9.GPIOParameters=GPIO_Label +PG8.GPIO_Label=BOARD_LED_A +PA13.Signal=SYS_JTMS-SWDIO +SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 +PH4.Signal=GPIO_Output +CAN1.BS2=CAN_BS2_4TQ +Dma.USART6_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +PH4.Locked=true +CAN1.BS1=CAN_BS1_10TQ +ProjectManager.TargetToolchain=MDK-ARM V5.27 +PB10.GPIO_Label=OLED_RST +Dma.USART6_RX.2.MemInc=DMA_MINC_ENABLE +PB7.GPIOParameters=GPIO_Label +Dma.USART1_RX.0.Direction=DMA_PERIPH_TO_MEMORY +PA9.Signal=S_TIM1_CH2 +USART1.Parity=PARITY_EVEN +TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 +RCC.VcooutputI2SQ=192000000 +PB9.Locked=true +Dma.USART6_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +ProjectManager.RegisterCallBack= +PE0.Locked=true +Dma.USART1_TX.1.FIFOMode=DMA_FIFOMODE_DISABLE +PH2.GPIOParameters=GPIO_Label +NVIC.DMA2_Stream6_IRQn=true\:0\:0\:false\:false\:true\:false\:true +PE11.Signal=GPIO_Output RCC.LSE_VALUE=32768 -RCC.LSI_VALUE=32000 -RCC.MCO2PinFreq_Value=168000000 -RCC.PLLCLKFreq_Value=168000000 -RCC.PLLM=6 -RCC.PLLN=168 -RCC.PLLQCLKFreq_Value=84000000 -RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE -RCC.RTCFreq_Value=32000 -RCC.RTCHSEDivFreq_Value=6000000 -RCC.SAI_AClocksFreq_Value=24500000 -RCC.SAI_BClocksFreq_Value=24500000 -RCC.SYSCLKFreq_VALUE=168000000 -RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +Dma.USART1_RX.0.PeriphInc=DMA_PINC_DISABLE +SH.S_TIM1_CH2.ConfNb=1 +CAN1.ABOM=ENABLE +PB10.Signal=GPIO_Output RCC.VCOI2SOutputFreq_Value=384000000 -RCC.VCOInputFreq_Value=2000000 +PG9.GPIO_Label=RefereeSystem_Rx +PG6.GPIOParameters=GPIO_Label +PG14.Signal=USART6_TX +Dma.USART6_TX.3.Direction=DMA_MEMORY_TO_PERIPH +Dma.USART1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE +board=custom RCC.VCOOutputFreq_Value=336000000 -RCC.VCOSAIOutputFreq_Value=98000000 -RCC.VCOSAIOutputFreq_ValueQ=24500000 -RCC.VcooutputI2S=192000000 -RCC.VcooutputI2SQ=192000000 -SH.ADCx_IN6.0=ADC1_IN6,IN6 -SH.ADCx_IN6.ConfNb=1 -SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 -SH.S_TIM1_CH1.ConfNb=1 +PE1.GPIO_Label=DEBUG_TX +PG1.GPIO_Label=BOARD_LED_H +ProjectManager.LastFirmware=true +PF14.GPIOParameters=GPIO_Label +Dma.USART6_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +PD1.Mode=CAN_Activate +PH4.GPIO_Label=BOARD_POWER3_CTRL +Dma.USART6_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.UART8_TX.4.PeriphInc=DMA_PINC_DISABLE +Dma.USART6_RX.2.Mode=DMA_CIRCULAR +PH0/OSC_IN.Signal=RCC_OSC_IN +RCC.APB2Freq_Value=84000000 +MxCube.Version=6.1.1 +USART1.Mode=MODE_TX_RX +PG4.GPIOParameters=GPIO_Label SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 -SH.S_TIM1_CH2.ConfNb=1 -SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64 -SPI1.CalculateBaudRate=1.3125 MBits/s -SPI1.Direction=SPI_DIRECTION_1LINE -SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler SPI1.Mode=SPI_MODE_MASTER -SPI1.VirtualType=VM_MASTER -TIM1.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 -TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 -TIM1.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Prescaler,Period,Pulse-PWM Generation1 CH1,Pulse-PWM Generation2 CH2 -TIM1.Period=9999 -TIM1.Prescaler=167 -TIM1.Pulse-PWM\ Generation1\ CH1=1000 -TIM1.Pulse-PWM\ Generation2\ CH2=1000 -UART8.IPParameters=VirtualMode -UART8.VirtualMode=Asynchronous -USART1.BaudRate=100000 -USART1.IPParameters=VirtualMode,BaudRate,Parity,Mode -USART1.Mode=MODE_TX_RX -USART1.Parity=PARITY_EVEN -USART1.VirtualMode=VM_ASYNC -USART6.IPParameters=VirtualMode -USART6.VirtualMode=VM_ASYNC +PG7.GPIO_Label=BOARD_LED_B +Dma.UART8_TX.4.FIFOMode=DMA_FIFOMODE_DISABLE +Mcu.Pin30=PA7 VP_SYS_VS_Systick.Mode=SysTick -VP_SYS_VS_Systick.Signal=SYS_VS_Systick -board=custom +Dma.UART8_TX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +RCC.EthernetFreq_Value=168000000 +Mcu.Pin33=VP_SYS_VS_Systick +Dma.USART1_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE +Mcu.Pin31=PF14 +Mcu.Pin32=PB10 +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false +PF14.Locked=true +PA13.Mode=Serial_Wire +PG14.GPIO_Label=RefereeSystem_Tx +ProjectManager.FreePins=false +RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueQ,VcooutputI2S,VcooutputI2SQ +PE11.Locked=true +ProjectManager.AskForMigrate=true +Mcu.Name=STM32F427I(G-I)Hx +PE0.Signal=UART8_RX +PD0.Mode=CAN_Activate +Mcu.Pin26=PG2 +Mcu.Pin27=PG1 +RCC.RTCHSEDivFreq_Value=6000000 +Mcu.Pin24=PG4 +ProjectManager.UnderRoot=false +Mcu.Pin25=PG3 +Mcu.IP8=UART8 +Mcu.IP9=USART1 +Mcu.Pin28=PA6 +Dma.UART8_TX.4.Mode=DMA_NORMAL +Mcu.IP6=SYS +Mcu.Pin29=PE11 +Mcu.IP7=TIM1 +ProjectManager.CoupleFile=true +RCC.48MHZClocksFreq_Value=84000000 +PB3.Signal=SPI1_SCK +RCC.SYSCLKFreq_VALUE=168000000 +Mcu.Pin22=PG6 +Mcu.Pin23=PG5 +Mcu.Pin20=PH5 +PA7.GPIO_Label=OLED_MOSI +ADC1.master=1 +Mcu.Pin21=PG7 +NVIC.ForceEnableDMAVector=true +KeepUserPlacement=false +Dma.UART8_TX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART1_TX.1.Mode=DMA_NORMAL +NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false +USART1.VirtualMode=VM_ASYNC +ProjectManager.CompilerOptimize=6 +Dma.UART8_TX.4.Instance=DMA1_Stream0 +PB7.Mode=Asynchronous +PA14.Signal=SYS_JTCK-SWCLK +ProjectManager.HeapSize=0x200 +Mcu.Pin15=PH0/OSC_IN +Dma.USART1_TX.1.PeriphInc=DMA_PINC_DISABLE +NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +Mcu.Pin16=PH3 +PH5.Locked=true +Mcu.Pin13=PH2 +Mcu.Pin14=PA8 +Dma.USART6_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE +Mcu.Pin19=PG8 +Dma.USART6_TX.3.Instance=DMA2_Stream6 +ProjectManager.ComputerToolchain=false +Mcu.Pin17=PH1/OSC_OUT +RCC.HSI_VALUE=16000000 +Mcu.Pin18=PH4 +PH2.Locked=true +NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 +ADC1.NbrOfConversionFlag=1 +Mcu.Pin11=PD1 +PH3.Signal=GPIO_Output +PD0.GPIOParameters=GPIO_Label +Mcu.Pin12=PA9 +RCC.PLLM=6 +RCC.PLLN=168 +Mcu.Pin10=PG9 +PG3.GPIO_Label=BOARD_LED_F +Dma.USART6_RX.2.PeriphInc=DMA_PINC_DISABLE +RCC.APB1Freq_Value=42000000 +PD1.Locked=true +PA7.GPIOParameters=GPIO_Label +ProjectManager.DeviceId=STM32F427IIHx +PE0.Mode=Asynchronous +PH2.GPIO_Label=BOARD_POWER1_CTRL +PG7.GPIOParameters=GPIO_Label +ProjectManager.LibraryCopy=1 +NVIC.CAN1_RX0_IRQn=true\:0\:0\:false\:false\:true\:true\:true +PE1.GPIOParameters=GPIO_Label +PA7.Signal=SPI1_MOSI +PA6.Locked=true diff --git a/Src/BoardA_handle.c b/Src/BoardA_handle.c index e478e9b212c0a571127b6d6a3d7d417f159499cd..6da718961dd78dd21fd28054f9c54a1d1ee19e3e 100644 --- a/Src/BoardA_handle.c +++ b/Src/BoardA_handle.c @@ -95,17 +95,25 @@ Exemple : uart_debug_printf("\tAngle: %u (%x)\r\n", motors[TOURELLE_YAW].info.an */ void uart_debug(){ static uint32_t tickstart = 0; + static char buff[1000] = {0}; + static char buff2[1000] = {0}; if(tickstart == 0){ tickstart = HAL_GetTick(); } - if ((HAL_GetTick() - tickstart) < 1000){ + if ((HAL_GetTick() - tickstart) < 200){ return; } tickstart = HAL_GetTick(); - uart_debug_command("[2J"); //Clear entire screen - uart_debug_printf("\r\nFRONT_LEFT\r\n"); - uart_debug_printf("\tSpeed: %f\r\n", motors[FRONT_LEFT].info.speed); + snprintf(buff2, 1000, "%f,%f,%f,", motors[FRONT_LEFT].consigne, motors[FRONT_LEFT].command, motors[FRONT_LEFT].info.speed); + snprintf(buff, 1000, "%f,%f,%f,", motors[FRONT_RIGHT].consigne, motors[FRONT_RIGHT].command, motors[FRONT_RIGHT].info.speed); + strcat(buff2, buff); + snprintf(buff, 1000, "%f,%f,%f,", motors[BACK_LEFT].consigne, motors[BACK_LEFT].command, motors[BACK_LEFT].info.speed); + strcat(buff2, buff); + snprintf(buff, 1000, "%f,%f,%f_", motors[BACK_RIGHT].consigne, motors[BACK_RIGHT].command, motors[BACK_RIGHT].info.speed); + strcat(buff2, buff); + HAL_UART_Transmit_DMA(&huart8, (uint8_t*)buff2, strlen(buff2)); /* + uart_debug_command("[2J"); //Clear entire screen uart_debug_printf("\r\nTOURELLE YAW\r\n"); uart_debug_printf("\tAngle: %u (%x)\r\n", motors[TOURELLE_YAW].info.angle, motors[TOURELLE_YAW].info.angle); uart_debug_printf("\tSpeed: %d\r\n", motors[TOURELLE_YAW].info.speed); diff --git a/Src/dma.c b/Src/dma.c index e18e3747912349474b898d586a1c5cec4da9b5b7..55f6cd3bf0cfc99dda9f0dd6b39659e7bdb5374e 100644 --- a/Src/dma.c +++ b/Src/dma.c @@ -40,8 +40,12 @@ void MX_DMA_Init(void) /* DMA controller clock enable */ __HAL_RCC_DMA2_CLK_ENABLE(); + __HAL_RCC_DMA1_CLK_ENABLE(); /* DMA interrupt init */ + /* DMA1_Stream0_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn); /* DMA2_Stream1_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); diff --git a/Src/stm32f4xx_it.c b/Src/stm32f4xx_it.c index 46150cf4c4355be33bbb8e1048270fd655cf7166..f1f18fcb1a09fc80c1b14f1e2c82b753b439e03e 100644 --- a/Src/stm32f4xx_it.c +++ b/Src/stm32f4xx_it.c @@ -62,10 +62,12 @@ /* External variables --------------------------------------------------------*/ extern CAN_HandleTypeDef hcan1; +extern DMA_HandleTypeDef hdma_uart8_tx; extern DMA_HandleTypeDef hdma_usart1_rx; extern DMA_HandleTypeDef hdma_usart1_tx; extern DMA_HandleTypeDef hdma_usart6_rx; extern DMA_HandleTypeDef hdma_usart6_tx; +extern UART_HandleTypeDef huart8; extern UART_HandleTypeDef huart1; extern UART_HandleTypeDef huart6; /* USER CODE BEGIN EV */ @@ -208,6 +210,20 @@ void SysTick_Handler(void) /* please refer to the startup file (startup_stm32f4xx.s). */ /******************************************************************************/ +/** + * @brief This function handles DMA1 stream0 global interrupt. + */ +void DMA1_Stream0_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Stream0_IRQn 0 */ + + /* USER CODE END DMA1_Stream0_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_uart8_tx); + /* USER CODE BEGIN DMA1_Stream0_IRQn 1 */ + + /* USER CODE END DMA1_Stream0_IRQn 1 */ +} + /** * @brief This function handles CAN1 TX interrupts. */ @@ -354,6 +370,20 @@ void USART6_IRQHandler(void) /* USER CODE END USART6_IRQn 1 */ } +/** + * @brief This function handles UART8 global interrupt. + */ +void UART8_IRQHandler(void) +{ + /* USER CODE BEGIN UART8_IRQn 0 */ + + /* USER CODE END UART8_IRQn 0 */ + HAL_UART_IRQHandler(&huart8); + /* USER CODE BEGIN UART8_IRQn 1 */ + + /* USER CODE END UART8_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ extern uint32_t signOfLife_CAN1_tick; void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan){ diff --git a/Src/traitement.c b/Src/traitement.c index 7b218bc65c55bf7f27cd24bf158bb0cf391bcb76..80597e151e9a5896c35a1eead2e53dcc29791189 100644 --- a/Src/traitement.c +++ b/Src/traitement.c @@ -26,12 +26,6 @@ void traitement_pids_compute(){ void traitement_1(){ add_consigne_position(&motors[TOURELLE_PITCH], (float)receiver_RadioController.data.ch2_float, 0.00005); add_consigne_position(&motors[TOURELLE_YAW], (float)receiver_RadioController.data.ch1_float, -0.00005); - - if(motors[TOURELLE_PITCH].info.angle_360 > 293){ - BOARD_LED_GREEN_ON(); - }else{ - BOARD_LED_GREEN_OFF(); - } switch(receiver_RadioController.data.sw1){ diff --git a/Src/usart.c b/Src/usart.c index e2d5a4ae13e8489a9e10d87f6ed4baf2f9e27768..d966a933af359fe9bb4fac55b1c848c92df4b8cc 100644 --- a/Src/usart.c +++ b/Src/usart.c @@ -27,6 +27,7 @@ UART_HandleTypeDef huart8; UART_HandleTypeDef huart1; UART_HandleTypeDef huart6; +DMA_HandleTypeDef hdma_uart8_tx; DMA_HandleTypeDef hdma_usart1_rx; DMA_HandleTypeDef hdma_usart1_tx; DMA_HandleTypeDef hdma_usart6_rx; @@ -113,6 +114,28 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) GPIO_InitStruct.Alternate = GPIO_AF8_UART8; HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + /* UART8 DMA Init */ + /* UART8_TX Init */ + hdma_uart8_tx.Instance = DMA1_Stream0; + hdma_uart8_tx.Init.Channel = DMA_CHANNEL_5; + hdma_uart8_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_uart8_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_uart8_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_uart8_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_uart8_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_uart8_tx.Init.Mode = DMA_NORMAL; + hdma_uart8_tx.Init.Priority = DMA_PRIORITY_LOW; + hdma_uart8_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_uart8_tx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(uartHandle,hdmatx,hdma_uart8_tx); + + /* UART8 interrupt Init */ + HAL_NVIC_SetPriority(UART8_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(UART8_IRQn); /* USER CODE BEGIN UART8_MspInit 1 */ __HAL_UART_CLEAR_IDLEFLAG(&huart8); __HAL_UART_ENABLE_IT(&huart8, UART_IT_IDLE); @@ -267,6 +290,11 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) */ HAL_GPIO_DeInit(GPIOE, DEBUG_TX_Pin|DEBUG_RX_Pin); + /* UART8 DMA DeInit */ + HAL_DMA_DeInit(uartHandle->hdmatx); + + /* UART8 interrupt Deinit */ + HAL_NVIC_DisableIRQ(UART8_IRQn); /* USER CODE BEGIN UART8_MspDeInit 1 */ /* USER CODE END UART8_MspDeInit 1 */