Bugfix calculation of needed gas:
Sometimes a gas was not calculated because of it's change depth calculation. Rootcause was a problem in the setup of the gas change list. The old function collecting milestones like time to first stop etc. has been removed because after the deco compression the complete profile is available. Instead of doing another way of profile calculation the existing profil is now evaluated and the time stamps / gas consumption derived from there.
line source
/**+ −
******************************************************************************+ −
* File Name : stm32f4xx_hal_msp.c+ −
* Date : 04/12/2014 15:39:26+ −
* Description : This file provides code for the MSP Initialization + −
* and de-Initialization codes.+ −
******************************************************************************+ −
*+ −
* COPYRIGHT(c) 2014 STMicroelectronics+ −
*+ −
* Redistribution and use in source and binary forms, with or without modification,+ −
* are permitted provided that the following conditions are met:+ −
* 1. Redistributions of source code must retain the above copyright notice,+ −
* this list of conditions and the following disclaimer.+ −
* 2. Redistributions in binary form must reproduce the above copyright notice,+ −
* this list of conditions and the following disclaimer in the documentation+ −
* and/or other materials provided with the distribution.+ −
* 3. Neither the name of STMicroelectronics nor the names of its contributors+ −
* may be used to endorse or promote products derived from this software+ −
* without specific prior written permission.+ −
*+ −
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+ −
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+ −
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+ −
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+ −
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+ −
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+ −
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+ −
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+ −
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+ −
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+ −
*+ −
******************************************************************************+ −
*/+ −
/* Includes ------------------------------------------------------------------*/+ −
#include "stm32f4xx_hal.h"+ −
#include "ostc.h"+ −
+ −
+ −
DMA_HandleTypeDef hdma_spi1_tx;+ −
+ −
DMA_HandleTypeDef hdma_spi1_rx;+ −
+ −
/* USER CODE BEGIN 0 */+ −
+ −
/* USER CODE END 0 */+ −
+ −
/**+ −
* Initializes the Global MSP.+ −
*/+ −
void HAL_MspInit(void)+ −
{+ −
/* USER CODE BEGIN MspInit 0 */+ −
/* USER CODE END MspInit 0 */+ −
+ −
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2);+ −
+ −
/* System interrupt init*/+ −
/** SysTick_IRQn interrupt configuration+ −
*/+ −
HAL_NVIC_SetPriority(SysTick_IRQn, 1, 0);+ −
+ −
/* USER CODE BEGIN MspInit 1 */+ −
/* always set priority right */+ −
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2);+ −
/* USER CODE END MspInit 1 */+ −
}+ −
+ −
void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d)+ −
{+ −
+ −
if(hdma2d->Instance==DMA2D)+ −
{+ −
/* USER CODE BEGIN DMA2D_MspInit 0 */+ −
+ −
/* USER CODE END DMA2D_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__DMA2D_CLK_ENABLE();+ −
/* USER CODE BEGIN DMA2D_MspInit 1 */+ −
HAL_NVIC_SetPriority(DMA2D_IRQn, 1, 2);+ −
HAL_NVIC_EnableIRQ(DMA2D_IRQn); + −
/* USER CODE END DMA2D_MspInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)+ −
{+ −
+ −
if(hdma2d->Instance==DMA2D)+ −
{+ −
/* USER CODE BEGIN DMA2D_MspDeInit 0 */+ −
+ −
/* USER CODE END DMA2D_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__DMA2D_CLK_DISABLE();+ −
/* USER CODE BEGIN DMA2D_MspDeInit 1 */+ −
__DMA2D_RELEASE_RESET();+ −
/* USER CODE END DMA2D_MspDeInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)+ −
{+ −
+ −
GPIO_InitTypeDef GPIO_InitStruct;+ −
if(hltdc->Instance==LTDC)+ −
{+ −
/* USER CODE BEGIN LTDC_MspInit 0 */+ −
__GPIOE_CLK_ENABLE();+ −
__GPIOF_CLK_ENABLE();+ −
__GPIOG_CLK_ENABLE();+ −
__GPIOH_CLK_ENABLE();+ −
__GPIOI_CLK_ENABLE();+ −
+ −
/* USER CODE END LTDC_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__LTDC_CLK_ENABLE();+ −
+ −
/**LTDC GPIO Configuration + −
PE4 ------> LTDC_B0+ −
PE5 ------> LTDC_G0+ −
PE6 ------> LTDC_G1+ −
PI9 ------> LTDC_VSYNC+ −
PI10 ------> LTDC_HSYNC+ −
PF10 ------> LTDC_DE+ −
PH2 ------> LTDC_R0+ −
PH3 ------> LTDC_R1+ −
PH8 ------> LTDC_R2+ −
PH9 ------> LTDC_R3+ −
PH10 ------> LTDC_R4+ −
PH11 ------> LTDC_R5+ −
PH12 ------> LTDC_R6+ −
PG6 ------> LTDC_R7+ −
PG7 ------> LTDC_CLK+ −
PH13 ------> LTDC_G2+ −
PH14 ------> LTDC_G3+ −
PH15 ------> LTDC_G4+ −
PI0 ------> LTDC_G5+ −
PI1 ------> LTDC_G6+ −
PI2 ------> LTDC_G7+ −
PG10 ------> LTDC_B2+ −
PG11 ------> LTDC_B3+ −
PG12 ------> LTDC_B1+ −
PI4 ------> LTDC_B4+ −
PI5 ------> LTDC_B5+ −
PI6 ------> LTDC_B6+ −
PI7 ------> LTDC_B7 + −
*/+ −
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;+ −
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1 + −
|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 + −
|GPIO_PIN_7;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;+ −
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_10;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;+ −
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_9 + −
|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + −
|GPIO_PIN_14|GPIO_PIN_15;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;+ −
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_11 + −
|GPIO_PIN_12;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;+ −
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);+ −
+ −
/* USER CODE BEGIN LTDC_MspInit 1 */+ −
+ −
/* USER CODE END LTDC_MspInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)+ −
{+ −
+ −
if(hltdc->Instance==LTDC)+ −
{+ −
/* USER CODE BEGIN LTDC_MspDeInit 0 */+ −
+ −
/* USER CODE END LTDC_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__LTDC_CLK_DISABLE();+ −
+ −
/**LTDC GPIO Configuration + −
PE4 ------> LTDC_B0+ −
PE5 ------> LTDC_G0+ −
PE6 ------> LTDC_G1+ −
PI9 ------> LTDC_VSYNC+ −
PI10 ------> LTDC_HSYNC+ −
PF10 ------> LTDC_DE+ −
PH2 ------> LTDC_R0+ −
PH3 ------> LTDC_R1+ −
PH8 ------> LTDC_R2+ −
PH9 ------> LTDC_R3+ −
PH10 ------> LTDC_R4+ −
PH11 ------> LTDC_R5+ −
PH12 ------> LTDC_R6+ −
PG6 ------> LTDC_R7+ −
PG7 ------> LTDC_CLK+ −
PH13 ------> LTDC_G2+ −
PH14 ------> LTDC_G3+ −
PH15 ------> LTDC_G4+ −
PI0 ------> LTDC_G5+ −
PI1 ------> LTDC_G6+ −
PI2 ------> LTDC_G7+ −
PG10 ------> LTDC_B2+ −
PG11 ------> LTDC_B3+ −
PG12 ------> LTDC_B1+ −
PI4 ------> LTDC_B4+ −
PI5 ------> LTDC_B5+ −
PI6 ------> LTDC_B6+ −
PI7 ------> LTDC_B7 + −
*/+ −
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6);+ −
+ −
HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1 + −
|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 + −
|GPIO_PIN_7);+ −
+ −
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10);+ −
+ −
HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_9 + −
|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 + −
|GPIO_PIN_14|GPIO_PIN_15);+ −
+ −
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_11 + −
|GPIO_PIN_12);+ −
+ −
/* USER CODE BEGIN LTDC_MspDeInit 1 */+ −
__LTDC_RELEASE_RESET();+ −
+ −
/* USER CODE END LTDC_MspDeInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)+ −
{+ −
+ −
GPIO_InitTypeDef GPIO_InitStruct;+ −
if(hspi->Instance==SPI1)+ −
{+ −
/* USER CODE BEGIN SPI1_MspInit 0 */+ −
__GPIOA_CLK_ENABLE();+ −
__GPIOB_CLK_ENABLE();+ −
__DMA2_CLK_ENABLE();+ −
+ −
/* USER CODE END SPI1_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__SPI1_CLK_ENABLE();+ −
+ −
/**SPI1 GPIO Configuration + −
alt: PA4 ------> SPI1_NSS, jetzt soft+ −
PA5 ------> SPI1_SCK+ −
alt: PA6 ------> SPI1_MISO+ −
neu: PB4 ------> SPI1_MISO+ −
PA7 ------> SPI1_MOSI + −
*/+ −
// GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;+ −
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM;//GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;+ −
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);+ −
GPIO_InitStruct.Pin = GPIO_PIN_4;+ −
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);+ −
+ −
/* Peripheral DMA init*/+ −
+ −
hdma_spi1_tx.Instance = DMA2_Stream3;+ −
hdma_spi1_tx.Init.Channel = DMA_CHANNEL_3;+ −
hdma_spi1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;+ −
hdma_spi1_tx.Init.PeriphInc = DMA_PINC_DISABLE;+ −
hdma_spi1_tx.Init.MemInc = DMA_MINC_ENABLE;+ −
hdma_spi1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;+ −
hdma_spi1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;+ −
hdma_spi1_tx.Init.Mode = DMA_NORMAL;+ −
hdma_spi1_tx.Init.Priority = DMA_PRIORITY_LOW;+ −
hdma_spi1_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;+ −
hdma_spi1_tx.Init.MemBurst = DMA_MBURST_INC4;+ −
hdma_spi1_tx.Init.PeriphBurst = DMA_PBURST_INC4;+ −
HAL_DMA_Init(&hdma_spi1_tx);+ −
+ −
__HAL_LINKDMA(hspi,hdmatx,hdma_spi1_tx);+ −
+ −
hdma_spi1_rx.Instance = DMA2_Stream0;+ −
hdma_spi1_rx.Init.Channel = DMA_CHANNEL_3;+ −
hdma_spi1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;+ −
hdma_spi1_rx.Init.PeriphInc = DMA_PINC_DISABLE;+ −
hdma_spi1_rx.Init.MemInc = DMA_MINC_ENABLE;+ −
hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;+ −
hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;+ −
hdma_spi1_rx.Init.Mode = DMA_NORMAL;+ −
hdma_spi1_rx.Init.Priority = DMA_PRIORITY_HIGH;+ −
hdma_spi1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;+ −
hdma_spi1_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;+ −
+ −
hdma_spi1_rx.Init.MemBurst = DMA_MBURST_INC4;+ −
hdma_spi1_rx.Init.PeriphBurst = DMA_PBURST_INC4;+ −
HAL_DMA_Init(&hdma_spi1_rx);+ −
+ −
__HAL_LINKDMA(hspi, hdmarx, hdma_spi1_rx);+ −
+ −
/*##-4- Configure the NVIC for DMA #########################################*/ + −
/* NVIC configuration for DMA transfer complete interrupt (SPI1_TX) */+ −
HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 0, 1);+ −
HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn);+ −
+ −
+ −
/* NVIC configuration for DMA transfer complete interrupt (SPI1_RX) */+ −
HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 0, 0); + −
HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn);+ −
+ −
}+ −
else if(hspi->Instance==SPI2)+ −
{+ −
/* USER CODE BEGIN SPI2_MspInit 0 */+ −
__GPIOB_CLK_ENABLE();+ −
+ −
/* USER CODE END SPI2_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__SPI2_CLK_ENABLE();+ −
+ −
/**SPI2 GPIO Configuration + −
PB13 ------> SPI2_SCK+ −
PB14 ------> SPI2_MISO+ −
PB15 ------> SPI2_MOSI + −
*/+ −
GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;+ −
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);+ −
+ −
/* USER CODE BEGIN SPI2_MspInit 1 */+ −
+ −
/* USER CODE END SPI2_MspInit 1 */+ −
}+ −
else if(hspi->Instance==SPI5)+ −
{+ −
/* USER CODE BEGIN SPI5_MspInit 0 */+ −
__GPIOF_CLK_ENABLE();+ −
+ −
/* USER CODE END SPI5_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__SPI5_CLK_ENABLE();+ −
+ −
/**SPI5 GPIO Configuration + −
PF7 ------> SPI5_SCK+ −
PF8 ------> SPI5_MISO+ −
PF9 ------> SPI5_MOSI + −
*/+ −
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM;//GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF5_SPI5;+ −
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);+ −
+ −
/* USER CODE BEGIN SPI5_MspInit 1 */+ −
+ −
/* USER CODE END SPI5_MspInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)+ −
{+ −
+ −
if(hspi->Instance==SPI1)+ −
{+ −
/* USER CODE BEGIN SPI1_MspDeInit 0 */+ −
__SPI1_FORCE_RESET();+ −
__SPI1_RELEASE_RESET();+ −
+ −
/* USER CODE END SPI1_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__SPI1_CLK_DISABLE();+ −
+ −
/**SPI1 GPIO Configuration + −
PA4 ------> SPI1_NSS+ −
PA5 ------> SPI1_SCK+ −
PA6 ------> SPI1_MISO+ −
PA7 ------> SPI1_MOSI + −
*/+ −
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);+ −
+ −
/* Peripheral DMA DeInit*/+ −
HAL_DMA_DeInit(hspi->hdmatx);+ −
HAL_DMA_DeInit(hspi->hdmarx);+ −
/* USER CODE BEGIN SPI1_MspDeInit 1 */+ −
+ −
/* USER CODE END SPI1_MspDeInit 1 */+ −
}+ −
else if(hspi->Instance==SPI2)+ −
{+ −
/* USER CODE BEGIN SPI2_MspDeInit 0 */+ −
+ −
/* USER CODE END SPI2_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__SPI2_CLK_DISABLE();+ −
+ −
/**SPI2 GPIO Configuration + −
PB13 ------> SPI2_SCK+ −
PB14 ------> SPI2_MISO+ −
PB15 ------> SPI2_MOSI + −
*/+ −
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);+ −
+ −
/* USER CODE BEGIN SPI2_MspDeInit 1 */+ −
+ −
/* USER CODE END SPI2_MspDeInit 1 */+ −
}+ −
else if(hspi->Instance==SPI5)+ −
{+ −
/* USER CODE BEGIN SPI5_MspDeInit 0 */+ −
__SPI5_FORCE_RESET();+ −
__SPI5_RELEASE_RESET();+ −
+ −
/* USER CODE END SPI5_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__SPI5_CLK_DISABLE();+ −
+ −
/**SPI5 GPIO Configuration + −
PF7 ------> SPI5_SCK+ −
PF8 ------> SPI5_MISO+ −
PF9 ------> SPI5_MOSI + −
*/+ −
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);+ −
+ −
/* USER CODE BEGIN SPI5_MspDeInit 1 */+ −
+ −
/* USER CODE END SPI5_MspDeInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)+ −
{+ −
GPIO_InitTypeDef GPIO_InitStruct;+ −
if(htim_pwm->Instance==TIM_BACKLIGHT)+ −
{+ −
TIM_BACKLIGHT_GPIO_ENABLE();+ −
TIM_BACKLIGHT_CLK_ENABLE();+ −
+ −
GPIO_InitStruct.Pin = TIM_BACKLIGHT_PIN;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;+ −
HAL_GPIO_Init(TIM_BACKLIGHT_GPIO_PORT, &GPIO_InitStruct);+ −
}+ −
+ −
}+ −
+ −
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)+ −
{+ −
if(htim_base->Instance==TIMx)+ −
{+ −
TIMx_CLK_ENABLE();+ −
+ −
HAL_NVIC_SetPriority(TIMx_IRQn, 2, 1);+ −
HAL_NVIC_EnableIRQ(TIMx_IRQn);+ −
+ −
}+ −
}+ −
+ −
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)+ −
{+ −
+ −
if(htim_pwm->Instance==TIM2)+ −
{+ −
/* USER CODE BEGIN TIM2_MspDeInit 0 */+ −
+ −
/* USER CODE END TIM2_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__TIM2_CLK_DISABLE();+ −
+ −
/**TIM2 GPIO Configuration + −
PA15 ------> TIM2_CH1 + −
*/+ −
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);+ −
+ −
/* USER CODE BEGIN TIM2_MspDeInit 1 */+ −
+ −
/* USER CODE END TIM2_MspDeInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)+ −
{+ −
+ −
if(htim_base->Instance==TIM3)+ −
{+ −
/* USER CODE BEGIN TIM3_MspDeInit 0 */+ −
+ −
/* USER CODE END TIM3_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__TIM3_CLK_DISABLE();+ −
+ −
/**TIM3 GPIO Configuration + −
PC7 ------> TIM3_CH2 + −
*/+ −
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_7);+ −
+ −
/* USER CODE BEGIN TIM3_MspDeInit 1 */+ −
+ −
/* USER CODE END TIM3_MspDeInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_UART_MspInit(UART_HandleTypeDef* huart)+ −
{+ −
+ −
GPIO_InitTypeDef GPIO_InitStruct;+ −
if(huart->Instance==USART1)+ −
{+ −
/* USER CODE BEGIN USART1_MspInit 0 */+ −
__GPIOA_CLK_ENABLE();+ −
+ −
/* USER CODE END USART1_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__USART1_CLK_ENABLE();+ −
+ −
/**USART1 GPIO Configuration + −
PA9 ------> USART1_TX+ −
PA10 ------> USART1_RX + −
*/+ −
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_PULLUP;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_FAST;//GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;+ −
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);+ −
+ −
HAL_NVIC_SetPriority(USART1_IRQn, 0, 1);+ −
HAL_NVIC_EnableIRQ(USART1_IRQn);+ −
}+ −
else if(huart->Instance==USART_IR_HUD) /* USART2 */+ −
{+ −
USART_IR_HUD_CLK_ENABLE();+ −
USART_IR_HUD_TX_GPIO_CLK_ENABLE();+ −
USART_IR_HUD_RX_GPIO_CLK_ENABLE();+ −
+ −
/**USART2 GPIO Configuration + −
PD5 ------> USART2_TX+ −
PD6 ------> USART2_RX + −
*/+ −
+ −
GPIO_InitStruct.Pin = USART_IR_HUD_TX_PIN;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_PULLUP;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = USART_IR_HUD_TX_AF;+ −
HAL_GPIO_Init(USART_IR_HUD_TX_GPIO_PORT, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = USART_IR_HUD_RX_PIN;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_PULLUP;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = USART_IR_HUD_RX_AF;+ −
HAL_GPIO_Init(USART_IR_HUD_RX_GPIO_PORT, &GPIO_InitStruct);+ −
+ −
HAL_NVIC_SetPriority(USART_IR_HUD_IRQn, 0, 1);+ −
HAL_NVIC_EnableIRQ(USART_IR_HUD_IRQn);+ −
}+ −
else if(huart->Instance==USART3)+ −
{+ −
/* USER CODE BEGIN USART3_MspInit 0 */+ −
+ −
/* USER CODE END USART3_MspInit 0 */+ −
/* Peripheral clock enable */+ −
__USART3_CLK_ENABLE();+ −
+ −
/**USART3 GPIO Configuration + −
PC10 ------> USART3_TX+ −
PC11 ------> USART3_RX + −
*/+ −
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_PULLUP;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;+ −
GPIO_InitStruct.Alternate = GPIO_AF7_USART3;+ −
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);+ −
+ −
/* USER CODE BEGIN USART3_MspInit 1 */+ −
+ −
/* USER CODE END USART3_MspInit 1 */+ −
}+ −
+ −
}+ −
+ −
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)+ −
{+ −
+ −
if(huart->Instance==USART1)+ −
{+ −
/* USER CODE BEGIN USART1_MspDeInit 0 */+ −
+ −
/* USER CODE END USART1_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__USART1_CLK_DISABLE();+ −
+ −
/**USART1 GPIO Configuration + −
PA9 ------> USART1_TX+ −
PA10 ------> USART1_RX + −
*/+ −
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);+ −
+ −
/* USER CODE BEGIN USART1_MspDeInit 1 */+ −
+ −
/* USER CODE END USART1_MspDeInit 1 */+ −
}+ −
else if(huart->Instance==USART2)+ −
{+ −
/* USER CODE BEGIN USART2_MspDeInit 0 */+ −
+ −
/* USER CODE END USART2_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__USART2_CLK_DISABLE();+ −
+ −
/**USART2 GPIO Configuration + −
PD5 ------> USART2_TX+ −
PD6 ------> USART2_RX + −
*/+ −
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5|GPIO_PIN_6);+ −
+ −
/* USER CODE BEGIN USART2_MspDeInit 1 */+ −
+ −
/* USER CODE END USART2_MspDeInit 1 */+ −
}+ −
else if(huart->Instance==USART3)+ −
{+ −
/* USER CODE BEGIN USART3_MspDeInit 0 */+ −
+ −
/* USER CODE END USART3_MspDeInit 0 */+ −
/* Peripheral clock disable */+ −
__USART3_CLK_DISABLE();+ −
+ −
/**USART3 GPIO Configuration + −
PC10 ------> USART3_TX+ −
PC11 ------> USART3_RX + −
*/+ −
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);+ −
+ −
/* USER CODE BEGIN USART3_MspDeInit 1 */+ −
+ −
/* USER CODE END USART3_MspDeInit 1 */+ −
}+ −
+ −
}+ −
+ −
static int FMC_Initialized = 0;+ −
+ −
static void HAL_FMC_MspInit(void){+ −
GPIO_InitTypeDef GPIO_InitStruct;+ −
if (FMC_Initialized) {+ −
return;+ −
}+ −
FMC_Initialized = 1;+ −
/* Peripheral clock enable */+ −
__GPIOC_CLK_ENABLE();+ −
__GPIOD_CLK_ENABLE();+ −
__GPIOE_CLK_ENABLE();+ −
__GPIOF_CLK_ENABLE();+ −
__GPIOG_CLK_ENABLE();+ −
__GPIOH_CLK_ENABLE();+ −
+ −
__FMC_CLK_ENABLE();+ −
+ −
/** FMC GPIO Configuration + −
PF0 ------> FMC_A0+ −
PF1 ------> FMC_A1+ −
PF2 ------> FMC_A2+ −
PF3 ------> FMC_A3+ −
PF4 ------> FMC_A4+ −
PF5 ------> FMC_A5+ −
PC0 ------> FMC_SDNWE+ −
PF11 ------> FMC_SDNRAS+ −
PF12 ------> FMC_A6+ −
PF13 ------> FMC_A7+ −
PF14 ------> FMC_A8+ −
PF15 ------> FMC_A9+ −
PG0 ------> FMC_A10+ −
PG1 ------> FMC_A11+ −
PE7 ------> FMC_D4+ −
PE8 ------> FMC_D5+ −
PE9 ------> FMC_D6+ −
PE10 ------> FMC_D7+ −
PE11 ------> FMC_D8+ −
PE12 ------> FMC_D9+ −
PE13 ------> FMC_D10+ −
PE14 ------> FMC_D11+ −
PE15 ------> FMC_D12+ −
PH6 ------> FMC_SDNE1 neu+ −
PH7 ------> FMC_SDCKE1 neu + −
PD8 ------> FMC_D13+ −
PD9 ------> FMC_D14+ −
PD10 ------> FMC_D15+ −
PD14 ------> FMC_D0+ −
PD15 ------> FMC_D1+ −
PG2 ------> FMC_A12+ −
PG4 ------> FMC_BA0+ −
PG5 ------> FMC_BA1+ −
PG8 ------> FMC_SDCLK+ −
PD0 ------> FMC_D2+ −
PD1 ------> FMC_D3+ −
PG15 ------> FMC_SDNCAS+ −
PE0 ------> FMC_NBL0+ −
PE1 ------> FMC_NBL1+ −
*/+ −
+ −
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;+ −
GPIO_InitStruct.Pull = GPIO_NOPULL;+ −
GPIO_InitStruct.Speed = GPIO_SPEED_FAST;+ −
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;+ −
+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_0;+ −
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14 + −
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;+ −
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 + −
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + −
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;+ −
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + −
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12 + −
|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;+ −
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4 + −
|GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15;+ −
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);+ −
+ −
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;+ −
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);+ −
+ −
+ −
}+ −
+ −
void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){+ −
HAL_FMC_MspInit();+ −
}+ −
+ −
static int FMC_DeInitialized = 0;+ −
+ −
static void HAL_FMC_MspDeInit(void){+ −
if (FMC_DeInitialized) {+ −
return;+ −
}+ −
FMC_DeInitialized = 1;+ −
/* Peripheral clock enable */+ −
__FMC_CLK_DISABLE();+ −
+ −
/** FMC GPIO Configuration + −
PF0 ------> FMC_A0+ −
PF1 ------> FMC_A1+ −
PF2 ------> FMC_A2+ −
PF3 ------> FMC_A3+ −
PF4 ------> FMC_A4+ −
PF5 ------> FMC_A5+ −
PC0 ------> FMC_SDNWE+ −
PF11 ------> FMC_SDNRAS+ −
PF12 ------> FMC_A6+ −
PF13 ------> FMC_A7+ −
PF14 ------> FMC_A8+ −
PF15 ------> FMC_A9+ −
PG0 ------> FMC_A10+ −
PG1 ------> FMC_A11+ −
PE7 ------> FMC_D4+ −
PE8 ------> FMC_D5+ −
PE9 ------> FMC_D6+ −
PE10 ------> FMC_D7+ −
PE11 ------> FMC_D8+ −
PE12 ------> FMC_D9+ −
PE13 ------> FMC_D10+ −
PE14 ------> FMC_D11+ −
PE15 ------> FMC_D12+ −
PH6 ------> FMC_SDNE1+ −
PH7 ------> FMC_SDCKE1+ −
PD8 ------> FMC_D13+ −
PD9 ------> FMC_D14+ −
PD10 ------> FMC_D15+ −
PD14 ------> FMC_D0+ −
PD15 ------> FMC_D1+ −
PG2 ------> FMC_A12+ −
PG4 ------> FMC_BA0+ −
PG5 ------> FMC_BA1+ −
PG8 ------> FMC_SDCLK+ −
PD0 ------> FMC_D2+ −
PD1 ------> FMC_D3+ −
PG15 ------> FMC_SDNCAS+ −
PE0 ------> FMC_NBL0+ −
PE1 ------> FMC_NBL1+ −
*/+ −
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 + −
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12 + −
|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);+ −
+ −
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);+ −
+ −
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4 + −
|GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15);+ −
+ −
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 + −
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 + −
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);+ −
+ −
HAL_GPIO_DeInit(GPIOH, GPIO_PIN_6|GPIO_PIN_7);+ −
+ −
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14 + −
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);+ −
+ −
}+ −
+ −
void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){+ −
HAL_FMC_MspDeInit();+ −
}+ −
+ −
/* USER CODE BEGIN 1 */+ −
+ −
/* USER CODE END 1 */+ −
+ −
/**+ −
* @}+ −
*/+ −
+ −
/**+ −
* @}+ −
*/+ −
+ −
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/+ −