/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. ****************************************************************************** * @attention * *

© Copyright (c) 2020 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32h7xx_hal.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Exported types ------------------------------------------------------------*/ /* USER CODE BEGIN ET */ typedef enum { BSOD_ABORT, BSOD_HARDFAULT, BSOD_MEMFAULT, BSOD_BUSFAULT, BSOD_USAGEFAULT, BSOD_WATCHDOG, BSOD_OTHER, BSOD_COUNT, } BSOD_t; /* USER CODE END ET */ /* Exported constants --------------------------------------------------------*/ /* USER CODE BEGIN EC */ /* USER CODE END EC */ /* Exported macro ------------------------------------------------------------*/ /* USER CODE BEGIN EM */ /* USER CODE END EM */ /* Exported functions prototypes ---------------------------------------------*/ void Error_Handler(void); void BSOD(BSOD_t fault, uint32_t pc, uint32_t lr) __attribute__((noreturn)); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ #define GPIO_Speaker_enable_Pin GPIO_PIN_3 #define GPIO_Speaker_enable_GPIO_Port GPIOE #define BTN_PAUSE_Pin GPIO_PIN_13 #define BTN_PAUSE_GPIO_Port GPIOC #define BTN_GAME_Pin GPIO_PIN_1 #define BTN_GAME_GPIO_Port GPIOC #define BTN_PWR_Pin GPIO_PIN_0 #define BTN_PWR_GPIO_Port GPIOA #define BTN_TIME_Pin GPIO_PIN_5 #define BTN_TIME_GPIO_Port GPIOC #define BTN_A_Pin GPIO_PIN_9 #define BTN_A_GPIO_Port GPIOD #define BTN_Left_Pin GPIO_PIN_11 #define BTN_Left_GPIO_Port GPIOD #define BTN_Down_Pin GPIO_PIN_14 #define BTN_Down_GPIO_Port GPIOD #define BTN_Right_Pin GPIO_PIN_15 #define BTN_Right_GPIO_Port GPIOD #define BTN_Up_Pin GPIO_PIN_0 #define BTN_Up_GPIO_Port GPIOD #define BTN_B_Pin GPIO_PIN_5 #define BTN_B_GPIO_Port GPIOD // Zelda only buttons; they are not connected on mario. #define BTN_START_Pin GPIO_PIN_11 #define BTN_START_GPIO_Port GPIOC #define BTN_SELECT_Pin GPIO_PIN_12 #define BTN_SELECT_GPIO_Port GPIOC /* USER CODE BEGIN Private defines */ #define BOOT_MAGIC_STANDBY 0xfedebeda #define BOOT_MAGIC_RESET 0x1fa1afe1 #define BOOT_MAGIC_WATCHDOG 0xd066cafe #define BOOT_MAGIC_BSOD 0xbad00000 #define BOOT_MAGIC_FLASHAPP 0xf1a5f1a5 #define BOOT_MAGIC_BSOD_MASK 0xffff0000 #define PERSISTENT __attribute__((used)) __attribute__((section (".persistent"))) /* USER CODE END Private defines */ #ifdef __cplusplus } #endif #endif /* __MAIN_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/