Ignore:
Timestamp:
Jan 13, 2025, 11:56:09 AM (3 days ago)
Author:
Zed
Message:

GSM thread was added.

Location:
ctrl/firmware/Main/CubeMX/Core
Files:
2 added
5 edited

Legend:

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

    r58 r61  
    7878#define RST_DISPLAY_Pin GPIO_PIN_15
    7979#define RST_DISPLAY_GPIO_Port GPIOE
     80#define GSM_PWR_Pin GPIO_PIN_10
     81#define GSM_PWR_GPIO_Port GPIOD
    8082#define SD_DETECT_Pin GPIO_PIN_8
    8183#define SD_DETECT_GPIO_Port GPIOA
     
    9294#define TX2_LED_Pin GPIO_PIN_13
    9395#define TX2_LED_GPIO_Port GPIOG
     96#define BUZZER_Pin GPIO_PIN_15
     97#define BUZZER_GPIO_Port GPIOG
    9498
    9599/* USER CODE BEGIN Private defines */
  • ctrl/firmware/Main/CubeMX/Core/Inc/stm32h7xx_hal_conf.h

    r54 r61  
    7676/* #define HAL_SWPMI_MODULE_ENABLED   */
    7777#define HAL_TIM_MODULE_ENABLED
    78 /* #define HAL_UART_MODULE_ENABLED   */
     78#define HAL_UART_MODULE_ENABLED
    7979/* #define HAL_USART_MODULE_ENABLED   */
    8080/* #define HAL_IRDA_MODULE_ENABLED   */
  • ctrl/firmware/Main/CubeMX/Core/Src/app_threadx.c

    r58 r61  
    2929
    3030#include "keys_thread.h"
     31#include "gsm_thread.h"
    3132
    3233/* USER CODE END Includes */
     
    4041/* USER CODE BEGIN PD */
    4142
    42 #define MAIN_THREAD_STACK_SIZE_BYTES    (1024U)
     43#define KEYS_THREAD_STACK_SIZE_BYTES    (1024U)
     44#define GSM_THREAD_STACK_SIZE_BYTES             (1024U)
    4345
    4446/* USER CODE END PD */
     
    5355
    5456TX_THREAD scan_keys_thread_ptr;
     57TX_THREAD gsm_thread_ptr;
    5558
    5659/* USER CODE END PV */
     
    7275
    7376  TX_BYTE_POOL *byte_pool = (TX_BYTE_POOL*)memory_ptr;
    74   VOID *pointer;
     77  VOID *keys_thread_pointer;
     78  VOID *gsm_thread_pointer;
    7579
    7680  /* USER CODE END App_ThreadX_MEM_POOL */
     
    7983
    8084  // Allocate the stack for main thread
    81   ret = tx_byte_allocate(byte_pool, &pointer, MAIN_THREAD_STACK_SIZE_BYTES,
    82                                                  TX_NO_WAIT);
     85  ret = tx_byte_allocate(byte_pool, &keys_thread_pointer, KEYS_THREAD_STACK_SIZE_BYTES, TX_NO_WAIT);
    8386  if (ret != TX_SUCCESS) { printf("Cannot allocate bytes of memory!\n"); return ret; }
    8487
    85   ret = tx_thread_create(&scan_keys_thread_ptr, "Scan Keys Thread", scanKeysThread, 0x0001,
    86                                                 pointer, MAIN_THREAD_STACK_SIZE_BYTES, TX_MAX_PRIORITIES-1, TX_MAX_PRIORITIES-1,
    87                                                 TX_NO_TIME_SLICE, TX_AUTO_START);
    88   if (ret != TX_SUCCESS) { printf("Cannot create Scan Keys Thread!\n"); return ret; }
     88  char* scan_keys_thread_name = "Scan Keys Thread";
     89  ret = tx_thread_create(&scan_keys_thread_ptr, scan_keys_thread_name, scanKeysThread, 0x0001,  keys_thread_pointer, KEYS_THREAD_STACK_SIZE_BYTES, TX_MAX_PRIORITIES-1, TX_MAX_PRIORITIES-1, TX_NO_TIME_SLICE, TX_AUTO_START);
     90  if (ret != TX_SUCCESS) { printf("Cannot create %s!\n", scan_keys_thread_name); return ret; }
     91
     92
     93
     94  ret = tx_byte_allocate(byte_pool, &gsm_thread_pointer, GSM_THREAD_STACK_SIZE_BYTES, TX_NO_WAIT);
     95  if (ret != TX_SUCCESS) { printf("Cannot allocate bytes of memory!\n"); return ret; }
     96
     97  char* gsm_thread_name = "GSM Thread";
     98  ret = tx_thread_create(&gsm_thread_ptr, gsm_thread_name, gsmThread, 0x0001,   gsm_thread_pointer, GSM_THREAD_STACK_SIZE_BYTES, TX_MAX_PRIORITIES-1, TX_MAX_PRIORITIES-1, TX_NO_TIME_SLICE, TX_AUTO_START);
     99  if (ret != TX_SUCCESS) { printf("Cannot create %s!\n", gsm_thread_name); return ret; }
     100
     101
    89102
    90103  /* USER CODE END App_ThreadX_Init */
  • ctrl/firmware/Main/CubeMX/Core/Src/gpio.c

    r59 r61  
    6565  /*Configure GPIO pin Output Level */
    6666  HAL_GPIO_WritePin(GPIOG, POWER_5V_EN_Pin|POWER_10V_EN_Pin|ERROR_LED_Pin|CHARGE_LED_Pin
    67                           |RX2_LED_Pin|RX1_LED_Pin|TX2_LED_Pin, GPIO_PIN_RESET);
     67                          |RX2_LED_Pin|RX1_LED_Pin|TX2_LED_Pin|BUZZER_Pin, GPIO_PIN_RESET);
    6868
    6969  /*Configure GPIO pin Output Level */
    70   HAL_GPIO_WritePin(OUTPUT_ON_LED_GPIO_Port, OUTPUT_ON_LED_Pin, GPIO_PIN_RESET);
     70  HAL_GPIO_WritePin(GPIOD, GSM_PWR_Pin|OUTPUT_ON_LED_Pin, GPIO_PIN_RESET);
    7171
    7272  /*Configure GPIO pins : PE2 PE3 PE4 PE5
     
    141141
    142142  /*Configure GPIO pins : POWER_5V_EN_Pin POWER_10V_EN_Pin ERROR_LED_Pin CHARGE_LED_Pin
    143                            RX2_LED_Pin RX1_LED_Pin TX2_LED_Pin */
     143                           RX2_LED_Pin RX1_LED_Pin TX2_LED_Pin BUZZER_Pin */
    144144  GPIO_InitStruct.Pin = POWER_5V_EN_Pin|POWER_10V_EN_Pin|ERROR_LED_Pin|CHARGE_LED_Pin
    145                           |RX2_LED_Pin|RX1_LED_Pin|TX2_LED_Pin;
     145                          |RX2_LED_Pin|RX1_LED_Pin|TX2_LED_Pin|BUZZER_Pin;
    146146  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    147147  GPIO_InitStruct.Pull = GPIO_NOPULL;
     
    149149  HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
    150150
    151   /*Configure GPIO pins : PD8 PD9 PD10 PD11
    152                            PD12 PD13 PD14 PD15
    153                            PD0 PD1 PD3 PD4
    154                            PD5 PD6 */
    155   GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
    156                           |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15
    157                           |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4
    158                           |GPIO_PIN_5|GPIO_PIN_6;
     151  /*Configure GPIO pins : GSM_PWR_Pin OUTPUT_ON_LED_Pin */
     152  GPIO_InitStruct.Pin = GSM_PWR_Pin|OUTPUT_ON_LED_Pin;
     153  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     154  GPIO_InitStruct.Pull = GPIO_NOPULL;
     155  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
     156  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
     157
     158  /*Configure GPIO pins : PD11 PD12 PD13 PD14
     159                           PD15 PD0 PD1 PD3
     160                           PD4 PD5 PD6 */
     161  GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
     162                          |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_3
     163                          |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
    159164  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    160165  GPIO_InitStruct.Pull = GPIO_NOPULL;
     
    162167
    163168  /*Configure GPIO pins : PG2 PG3 PG4 PG5
    164                            PG6 PG7 PG8 PG14
    165                            PG15 */
     169                           PG6 PG7 PG8 PG14 */
    166170  GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
    167                           |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_14
    168                           |GPIO_PIN_15;
     171                          |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_14;
    169172  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    170173  GPIO_InitStruct.Pull = GPIO_NOPULL;
     
    177180  HAL_GPIO_Init(SD_DETECT_GPIO_Port, &GPIO_InitStruct);
    178181
    179   /*Configure GPIO pin : OUTPUT_ON_LED_Pin */
    180   GPIO_InitStruct.Pin = OUTPUT_ON_LED_Pin;
    181   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    182   GPIO_InitStruct.Pull = GPIO_NOPULL;
    183   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    184   HAL_GPIO_Init(OUTPUT_ON_LED_GPIO_Port, &GPIO_InitStruct);
    185 
    186182}
    187183
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r59 r61  
    2525#include "sdmmc.h"
    2626#include "spi.h"
     27#include "usart.h"
    2728#include "gpio.h"
    2829
     
    109110
    110111  /* USER CODE BEGIN SysInit */
    111 
     112#define MX_SDMMC1_SD_Init DoNothing
    112113  /* USER CODE END SysInit */
    113 #define MX_SDMMC1_SD_Init DoNothing
     114
    114115  /* Initialize all configured peripherals */
    115116  MX_GPIO_Init();
     
    118119  MX_SPI4_Init();
    119120  MX_SDMMC1_SD_Init();
     121  MX_USART3_UART_Init();
    120122  /* USER CODE BEGIN 2 */
    121123#undef MX_SDMMC1_SD_Init
Note: See TracChangeset for help on using the changeset viewer.