| 1 | /* USER CODE BEGIN Header */
|
|---|
| 2 | /**
|
|---|
| 3 | ******************************************************************************
|
|---|
| 4 | * @file : main.h
|
|---|
| 5 | * @brief : Header for main.c file.
|
|---|
| 6 | * This file contains the common defines of the application.
|
|---|
| 7 | ******************************************************************************
|
|---|
| 8 | * @attention
|
|---|
| 9 | *
|
|---|
| 10 | * Copyright (c) 2025 STMicroelectronics.
|
|---|
| 11 | * All rights reserved.
|
|---|
| 12 | *
|
|---|
| 13 | * This software is licensed under terms that can be found in the LICENSE file
|
|---|
| 14 | * in the root directory of this software component.
|
|---|
| 15 | * If no LICENSE file comes with this software, it is provided AS-IS.
|
|---|
| 16 | *
|
|---|
| 17 | ******************************************************************************
|
|---|
| 18 | */
|
|---|
| 19 | /* USER CODE END Header */
|
|---|
| 20 |
|
|---|
| 21 | /* Define to prevent recursive inclusion -------------------------------------*/
|
|---|
| 22 | #ifndef __MAIN_H
|
|---|
| 23 | #define __MAIN_H
|
|---|
| 24 |
|
|---|
| 25 | #ifdef __cplusplus
|
|---|
| 26 | extern "C" {
|
|---|
| 27 | #endif
|
|---|
| 28 |
|
|---|
| 29 | /* Includes ------------------------------------------------------------------*/
|
|---|
| 30 | #include "stm32c0xx_hal.h"
|
|---|
| 31 |
|
|---|
| 32 | /* Private includes ----------------------------------------------------------*/
|
|---|
| 33 | /* USER CODE BEGIN Includes */
|
|---|
| 34 |
|
|---|
| 35 | /* USER CODE END Includes */
|
|---|
| 36 |
|
|---|
| 37 | /* Exported types ------------------------------------------------------------*/
|
|---|
| 38 | /* USER CODE BEGIN ET */
|
|---|
| 39 |
|
|---|
| 40 | /* USER CODE END ET */
|
|---|
| 41 |
|
|---|
| 42 | /* Exported constants --------------------------------------------------------*/
|
|---|
| 43 | /* USER CODE BEGIN EC */
|
|---|
| 44 | #define SYSTEM_BOOTLOADER_START_ADDR 0x1FFF0000
|
|---|
| 45 | #define GOTO_SYSTEM_BOOTLOADER_MARK 0xACCE55ED
|
|---|
| 46 | #define VREF 3300
|
|---|
| 47 | #define BLINK_CODE_WARN_MANUAL 1
|
|---|
| 48 | #define BLINK_CODE_ERROR_OVP_LVP 2
|
|---|
| 49 | #define BLINK_CODE_ERROR_FAULT_INPUT 3
|
|---|
| 50 | #define BLINK_CODE_ERROR_VOLTAGE_DROP 4
|
|---|
| 51 | #define BLINK_CODE_ERROR_TEMP 5
|
|---|
| 52 |
|
|---|
| 53 |
|
|---|
| 54 |
|
|---|
| 55 | #define LED_RT_OFF_TIME 1000
|
|---|
| 56 | #define LED_RT_ON_TIME_WARN_MANUAL_MODE 200
|
|---|
| 57 | #define LED_RT_ON_TIME_WARN_FAULT_INPUT 200
|
|---|
| 58 | #define LED_RT_ON_TIME_WARN_OVP_AND_LVP_INPUT 200
|
|---|
| 59 | #define LED_RT_ON_TIME_WARN_VOLTAGE_DROP 200
|
|---|
| 60 | #define LED_RT_ON_TIME_WARN_TEMP 200
|
|---|
| 61 |
|
|---|
| 62 | #define LED_GN_OFF_TIME 1000
|
|---|
| 63 | #define LED_GN_ON_TIME_ON_MODE 200
|
|---|
| 64 |
|
|---|
| 65 | #define BUZZER_OFF_TIME 5000
|
|---|
| 66 | #define BUZZER_ON_TIME_CONFIRM 200
|
|---|
| 67 | #define BUZZER_ON_TIME_REJECT 500
|
|---|
| 68 | #define BUZZER_ON_TIME_ALARM_MANUAL_MODE 200
|
|---|
| 69 | /* USER CODE END EC */
|
|---|
| 70 |
|
|---|
| 71 | /* Exported macro ------------------------------------------------------------*/
|
|---|
| 72 | /* USER CODE BEGIN EM */
|
|---|
| 73 |
|
|---|
| 74 | /* USER CODE END EM */
|
|---|
| 75 |
|
|---|
| 76 | /* Exported functions prototypes ---------------------------------------------*/
|
|---|
| 77 | void Error_Handler(void);
|
|---|
| 78 |
|
|---|
| 79 | /* USER CODE BEGIN EFP */
|
|---|
| 80 |
|
|---|
| 81 | /* USER CODE END EFP */
|
|---|
| 82 |
|
|---|
| 83 | /* Private defines -----------------------------------------------------------*/
|
|---|
| 84 | #define GPIO_INPUT_MODE_B3_Pin GPIO_PIN_9
|
|---|
| 85 | #define GPIO_INPUT_MODE_B3_GPIO_Port GPIOB
|
|---|
| 86 | #define GPIO_OUTPUT_LED_ON_Pin GPIO_PIN_14
|
|---|
| 87 | #define GPIO_OUTPUT_LED_ON_GPIO_Port GPIOC
|
|---|
| 88 | #define GPIO_OUTPUT_LED_ERROR_Pin GPIO_PIN_15
|
|---|
| 89 | #define GPIO_OUTPUT_LED_ERROR_GPIO_Port GPIOC
|
|---|
| 90 | #define GPIO_INPUT_LVP_Pin GPIO_PIN_0
|
|---|
| 91 | #define GPIO_INPUT_LVP_GPIO_Port GPIOA
|
|---|
| 92 | #define GPIO_INPUT_OVP_Pin GPIO_PIN_1
|
|---|
| 93 | #define GPIO_INPUT_OVP_GPIO_Port GPIOA
|
|---|
| 94 | #define ADC1_IN2_TEMP_SENSOR_Pin GPIO_PIN_2
|
|---|
| 95 | #define ADC1_IN2_TEMP_SENSOR_GPIO_Port GPIOA
|
|---|
| 96 | #define ADC1_IN3_U_IN_Pin GPIO_PIN_3
|
|---|
| 97 | #define ADC1_IN3_U_IN_GPIO_Port GPIOA
|
|---|
| 98 | #define ADC1_IN4_U_OUT_Pin GPIO_PIN_4
|
|---|
| 99 | #define ADC1_IN4_U_OUT_GPIO_Port GPIOA
|
|---|
| 100 | #define ADC1_IN5_RES1_Pin GPIO_PIN_5
|
|---|
| 101 | #define ADC1_IN5_RES1_GPIO_Port GPIOA
|
|---|
| 102 | #define FAN_TACHO_Pin GPIO_PIN_6
|
|---|
| 103 | #define FAN_TACHO_GPIO_Port GPIOA
|
|---|
| 104 | #define FAN_PWM_Pin GPIO_PIN_7
|
|---|
| 105 | #define FAN_PWM_GPIO_Port GPIOA
|
|---|
| 106 | #define GPIO_INPUT_BTN_ON_Pin GPIO_PIN_0
|
|---|
| 107 | #define GPIO_INPUT_BTN_ON_GPIO_Port GPIOB
|
|---|
| 108 | #define GPIO_INPUT_BTN_OFF_Pin GPIO_PIN_1
|
|---|
| 109 | #define GPIO_INPUT_BTN_OFF_GPIO_Port GPIOB
|
|---|
| 110 | #define GPIO_INPUT_FAULT_Pin GPIO_PIN_2
|
|---|
| 111 | #define GPIO_INPUT_FAULT_GPIO_Port GPIOB
|
|---|
| 112 | #define GPIO_OUTPUT_10V_EN_Pin GPIO_PIN_8
|
|---|
| 113 | #define GPIO_OUTPUT_10V_EN_GPIO_Port GPIOA
|
|---|
| 114 | #define GPIO_INPUT_BMS_Pin GPIO_PIN_6
|
|---|
| 115 | #define GPIO_INPUT_BMS_GPIO_Port GPIOC
|
|---|
| 116 | #define R1_Pin GPIO_PIN_12
|
|---|
| 117 | #define R1_GPIO_Port GPIOA
|
|---|
| 118 | #define R2_Pin GPIO_PIN_15
|
|---|
| 119 | #define R2_GPIO_Port GPIOA
|
|---|
| 120 | #define GPIO_OUTPUT_RELAIS_SET_Pin GPIO_PIN_3
|
|---|
| 121 | #define GPIO_OUTPUT_RELAIS_SET_GPIO_Port GPIOB
|
|---|
| 122 | #define GPIO_OUTPUT_RELAIS_RESET_Pin GPIO_PIN_4
|
|---|
| 123 | #define GPIO_OUTPUT_RELAIS_RESET_GPIO_Port GPIOB
|
|---|
| 124 | #define GPIO_OUTPUT_BUZZER_Pin GPIO_PIN_5
|
|---|
| 125 | #define GPIO_OUTPUT_BUZZER_GPIO_Port GPIOB
|
|---|
| 126 | #define GPIO_INPUT_MODE_B0_Pin GPIO_PIN_6
|
|---|
| 127 | #define GPIO_INPUT_MODE_B0_GPIO_Port GPIOB
|
|---|
| 128 | #define GPIO_INPUT_MODE_B1_Pin GPIO_PIN_7
|
|---|
| 129 | #define GPIO_INPUT_MODE_B1_GPIO_Port GPIOB
|
|---|
| 130 | #define GPIO_INPUT_MODE_B2_Pin GPIO_PIN_8
|
|---|
| 131 | #define GPIO_INPUT_MODE_B2_GPIO_Port GPIOB
|
|---|
| 132 |
|
|---|
| 133 | /* USER CODE BEGIN Private defines */
|
|---|
| 134 | // mögliche Kommandos für das Command Register
|
|---|
| 135 | #define COMMAND_STORE_CONFIG 1 //Parameter speichern
|
|---|
| 136 | #define COMMAND_FULL_RESTORE 2 //Rücksetzen inkl. Kalibirerwerte --> Aktuell keine vorhanden deshalb gleich 3
|
|---|
| 137 | #define COMMAND_FACTORY_RESTORE 3 //Rücksetzen auf Auslieferungszustand
|
|---|
| 138 | #define COMMAND_RESTORE_LAST_SAVED_VALUES 4 //Parameter aus EEPROm neu laden (z.B. Zum "abbrechen" bei einer versehentlicher Veränderung
|
|---|
| 139 | #define COMMAND_RESTART 6 // Neustart und Watvhdog test
|
|---|
| 140 | #define COMMAND_STORE_WITH_SERIAL_NUMBER 1234 // Seriennummer wird gespeichert
|
|---|
| 141 | #define COMMAND_GOTO_SYS_BOOTLOADER 5458 // Looks like SYSB = System Bootloader
|
|---|
| 142 | /* USER CODE END Private defines */
|
|---|
| 143 |
|
|---|
| 144 | #ifdef __cplusplus
|
|---|
| 145 | }
|
|---|
| 146 | #endif
|
|---|
| 147 |
|
|---|
| 148 | #endif /* __MAIN_H */
|
|---|