Ignore:
Timestamp:
Feb 3, 2025, 3:27:37 PM (3 months ago)
Author:
Zed
Message:

LwIP was removed from the project.

Location:
ctrl/firmware/Main/CubeMX/Core
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • ctrl/firmware/Main/CubeMX/Core/Inc/main.h

    r76 r77  
    114114#define ETH_SPI_INT_Pin GPIO_PIN_8
    115115#define ETH_SPI_INT_GPIO_Port GPIOB
     116#define ETH_SPI_INT_EXTI_IRQn EXTI9_5_IRQn
    116117#define ETH_SPI_RST_Pin GPIO_PIN_9
    117118#define ETH_SPI_RST_GPIO_Port GPIOB
  • ctrl/firmware/Main/CubeMX/Core/Inc/stm32h7xx_it.h

    r72 r77  
    5656void DMA1_Stream1_IRQHandler(void);
    5757void DMA1_Stream2_IRQHandler(void);
     58void EXTI9_5_IRQHandler(void);
    5859void TIM3_IRQHandler(void);
     60void SPI2_IRQHandler(void);
    5961void USART3_IRQHandler(void);
    6062void TIM8_CC_IRQHandler(void);
  • ctrl/firmware/Main/CubeMX/Core/Src/gpio.c

    r76 r77  
    7474
    7575  /*Configure GPIO pin Output Level */
     76  HAL_GPIO_WritePin(ETH_SPI_NSS_GPIO_Port, ETH_SPI_NSS_Pin, GPIO_PIN_SET);
     77
     78  /*Configure GPIO pin Output Level */
    7679  HAL_GPIO_WritePin(ETH_SPI_RST_GPIO_Port, ETH_SPI_RST_Pin, GPIO_PIN_RESET);
    7780
     
    186189  HAL_GPIO_Init(SD_DETECT_GPIO_Port, &GPIO_InitStruct);
    187190
     191  /*Configure GPIO pins : ETH_SPI_NSS_Pin ETH_SPI_RST_Pin */
     192  GPIO_InitStruct.Pin = ETH_SPI_NSS_Pin|ETH_SPI_RST_Pin;
     193  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     194  GPIO_InitStruct.Pull = GPIO_NOPULL;
     195  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
     196  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
     197
    188198  /*Configure GPIO pin : ETH_SPI_INT_Pin */
    189199  GPIO_InitStruct.Pin = ETH_SPI_INT_Pin;
    190   GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
     200  GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
    191201  GPIO_InitStruct.Pull = GPIO_NOPULL;
    192202  HAL_GPIO_Init(ETH_SPI_INT_GPIO_Port, &GPIO_InitStruct);
    193203
    194   /*Configure GPIO pin : ETH_SPI_RST_Pin */
    195   GPIO_InitStruct.Pin = ETH_SPI_RST_Pin;
    196   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    197   GPIO_InitStruct.Pull = GPIO_NOPULL;
    198   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    199   HAL_GPIO_Init(ETH_SPI_RST_GPIO_Port, &GPIO_InitStruct);
     204  /* EXTI interrupt init*/
     205  HAL_NVIC_SetPriority(EXTI9_5_IRQn, 5, 0);
     206  HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
    200207
    201208}
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r76 r77  
    3535#include <stdio.h>
    3636
    37 #include "lwip.h"
    38 
    3937/* USER CODE END Includes */
    4038
     
    187185  RCC_OscInitStruct.PLL.PLLN = 40;
    188186  RCC_OscInitStruct.PLL.PLLP = 2;
    189   RCC_OscInitStruct.PLL.PLLQ = 4;
     187  RCC_OscInitStruct.PLL.PLLQ = 2;
    190188  RCC_OscInitStruct.PLL.PLLR = 2;
    191189  RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
  • ctrl/firmware/Main/CubeMX/Core/Src/spi.c

    r76 r77  
    4646  hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
    4747  hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
    48   hspi2.Init.NSS = SPI_NSS_HARD_OUTPUT;
     48  hspi2.Init.NSS = SPI_NSS_SOFT;
    4949  hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
    5050  hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
     
    5757  hspi2.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
    5858  hspi2.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
    59   hspi2.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_03CYCLE;
    60   hspi2.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_06CYCLE;
     59  hspi2.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
     60  hspi2.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_01CYCLE;
    6161  hspi2.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
    62   hspi2.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_ENABLE;
     62  hspi2.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE;
    6363  hspi2.Init.IOSwap = SPI_IO_SWAP_DISABLE;
    6464  if (HAL_SPI_Init(&hspi2) != HAL_OK)
     
    128128  */
    129129    PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI2;
    130     PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL;
     130    PeriphClkInitStruct.PLL2.PLL2M = 2;
     131    PeriphClkInitStruct.PLL2.PLL2N = 20;
     132    PeriphClkInitStruct.PLL2.PLL2P = 2;
     133    PeriphClkInitStruct.PLL2.PLL2Q = 11;
     134    PeriphClkInitStruct.PLL2.PLL2R = 10;
     135    PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
     136    PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
     137    PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
     138    PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2;
    131139    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
    132140    {
     
    142150    PB14     ------> SPI2_MISO
    143151    PB15     ------> SPI2_MOSI
    144     PB4(NJTRST)     ------> SPI2_NSS
    145152    */
    146153    GPIO_InitStruct.Pin = ETH_SPI_SCK_Pin|ETH_SPI_MISO_Pin|ETH_SPI_MOSI_Pin;
     
    151158    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    152159
    153     GPIO_InitStruct.Pin = ETH_SPI_NSS_Pin;
    154     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    155     GPIO_InitStruct.Pull = GPIO_NOPULL;
    156     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
    157     GPIO_InitStruct.Alternate = GPIO_AF7_SPI2;
    158     HAL_GPIO_Init(ETH_SPI_NSS_GPIO_Port, &GPIO_InitStruct);
    159 
     160    /* SPI2 interrupt Init */
     161    HAL_NVIC_SetPriority(SPI2_IRQn, 5, 0);
     162    HAL_NVIC_EnableIRQ(SPI2_IRQn);
    160163  /* USER CODE BEGIN SPI2_MspInit 1 */
    161164
     
    236239    PB14     ------> SPI2_MISO
    237240    PB15     ------> SPI2_MOSI
    238     PB4(NJTRST)     ------> SPI2_NSS
    239     */
    240     HAL_GPIO_DeInit(GPIOB, ETH_SPI_SCK_Pin|ETH_SPI_MISO_Pin|ETH_SPI_MOSI_Pin|ETH_SPI_NSS_Pin);
    241 
     241    */
     242    HAL_GPIO_DeInit(GPIOB, ETH_SPI_SCK_Pin|ETH_SPI_MISO_Pin|ETH_SPI_MOSI_Pin);
     243
     244    /* SPI2 interrupt Deinit */
     245    HAL_NVIC_DisableIRQ(SPI2_IRQn);
    242246  /* USER CODE BEGIN SPI2_MspDeInit 1 */
    243247
  • ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c

    r72 r77  
    2424/* USER CODE BEGIN Includes */
    2525
     26#include "FreeRTOS.h"
     27#include "semphr.h"
     28
    2629/* USER CODE END Includes */
    2730
     
    5962extern SD_HandleTypeDef hsd1;
    6063extern DMA_HandleTypeDef hdma_spi4_tx;
     64extern SPI_HandleTypeDef hspi2;
    6165extern SPI_HandleTypeDef hspi4;
    6266extern TIM_HandleTypeDef htim3;
     
    212216
    213217/**
     218  * @brief This function handles EXTI line[9:5] interrupts.
     219  */
     220void EXTI9_5_IRQHandler(void)
     221{
     222  /* USER CODE BEGIN EXTI9_5_IRQn 0 */
     223
     224  /* USER CODE END EXTI9_5_IRQn 0 */
     225  HAL_GPIO_EXTI_IRQHandler(ETH_SPI_INT_Pin);
     226  /* USER CODE BEGIN EXTI9_5_IRQn 1 */
     227
     228  /* USER CODE END EXTI9_5_IRQn 1 */
     229}
     230
     231/**
    214232  * @brief This function handles TIM3 global interrupt.
    215233  */
     
    226244
    227245/**
     246  * @brief This function handles SPI2 global interrupt.
     247  */
     248void SPI2_IRQHandler(void)
     249{
     250  /* USER CODE BEGIN SPI2_IRQn 0 */
     251
     252  /* USER CODE END SPI2_IRQn 0 */
     253  HAL_SPI_IRQHandler(&hspi2);
     254  /* USER CODE BEGIN SPI2_IRQn 1 */
     255
     256  /* USER CODE END SPI2_IRQn 1 */
     257}
     258
     259/**
    228260  * @brief This function handles USART3 global interrupt.
    229261  */
     
    313345//------------------------------------------------------------------------------
    314346
     347void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef* hspi)
     348{
     349        if (hspi->Instance == SPI2)
     350        {
     351                //HAL_GPIO_WritePin(ETH_SPI_NSS_GPIO_Port, ETH_SPI_NSS_Pin, GPIO_PIN_SET);
     352        }
     353}
     354
     355//------------------------------------------------------------------------------
     356
     357void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
     358{
     359        if (GPIO_Pin == ETH_SPI_INT_Pin)
     360        {
     361                /*extern SemaphoreHandle_t s_xSemaphoreSpi;
     362
     363                portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
     364
     365                xSemaphoreGiveFromISR(s_xSemaphoreSpi, &xHigherPriorityTaskWoken);*/
     366
     367        }
     368}
     369
     370//------------------------------------------------------------------------------
     371//------------------------------------------------------------------------------
     372//------------------------------------------------------------------------------
     373//------------------------------------------------------------------------------
     374//------------------------------------------------------------------------------
     375
     376
    315377/* USER CODE END 1 */
Note: See TracChangeset for help on using the changeset viewer.