source: trunk/firmware_v3/Core/Inc/main.h

Last change on this file was 41, checked in by f.jahn, 8 days ago

V3 Version soweit fertig. Relais ansteuerung, modbus, temperatursensor ist implementiert
Commit vor Änderung auf neuen Controller mit mehr Speicher

File size: 5.5 KB
Line 
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
26extern "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 ---------------------------------------------*/
77void 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 */
Note: See TracBrowser for help on using the repository browser.