main_ubi_sdk v 0.1.3
This is UBI4 documentation
UBI_SDK.h
Go to the documentation of this file.
1/*
2 * UBI_SDK.h
3 *
4 * Created on: 23 мар. 2023 г.
5 * Author: PC
6 */
7
8#ifdef example
9
10#ifndef MAIN_UBI_SDK_H_
11#define MAIN_UBI_SDK_H_
12
14
15//SELECT TARGET DEFINE UBI_SDK_SYSTEM_ROLE_SLAVE
16
17//=====================================================================
18//выбор необходимого контроллера
19//#define UBI_SDK_TARGET_ESP32
20//#define UBI_SDK_FAMALY_NRF52
21#define UBI_SDK_FAMILY_STM32
22//выбор необходимого контроллера
23//=====================================================================
24
25//=====================================================================
26//выбор необходимого контроллера STM32
27#ifdef UBI_SDK_FAMILY_STM32
28// #define UBI_SDK_TARGET_STM32G0
29 #define UBI_SDK_TARGET_STM32G4
30 // #define UBI_SDK_TARGET_STM32L1
31 //#define UBI_SDK_TARGET_STM32F4
32#endif
33
34#ifdef UBI_SDK_TARGET_STM32G0
35
36#elif defined(UBI_SDK_TARGET_STM32G4)
37
38//#define UBI_SDK_SERIES_G491
39#define UBI_SDK_SERIES_G474
40
41#elif defined(UBI_SDK_TARGET_STM32L1)
42
43#elif defined(UBI_SDK_TARGET_STM32F4)
44
45#endif
46//выбор необходимого контроллера STM32
47//=====================================================================
48
49//=====================================================================
50//видимо, максимальное количество подчиненных устройств
51#define MAX_SUB_DEVICES 1
52//=====================================================================
53
54//=====================================================================
55//выбор, что за прошивка. Bootloader или Main
56#define CURRENT_PROGRAM_TYPE PTE_BOOTLOADER
57//#define CURRENT_PROGRAM_TYPE PTE_MAIN_PROGRAM
58
59 #define BOOTLOADER_FW
60//#define MAIN_FW
61//выбор, что за прошивка. Bootloader или Main
62//=====================================================================
63
64//=====================================================================
65//выбор "проекта"
66// #define IT_IS_FINGER_DRIVER
67//#define IT_IS_GUI
68// #define IT_IS_BMS
69//#define IT_IS_EMG
70//#define IT_IS_CPU
71#define IT_IS_OMG
72//выбор "проекта"
73//=====================================================================
74#ifdef IT_IS_FINGER_DRIVER
75 //=====================================================================
76 //необходимые дефайны для работы с данным типом модуля
77 #include "gesture_info.h"
78
79 #define WHERE_DATA_TABLE 0x0801E000
80
81 #define CPU_FREQ_MHZ 64
82 #define DRIVE_NUM GFE_NUM
83 #define GESTURE_COLLECTION_SIZE LOCAL_GESTURE_NUM
84 #define GESTURE_COLLECTION_CUSTOM_SIZE LOCAL_GESTURE_CUSTOM_NUM
85 #define USER_GESTURES_NUM 8
86
87 #define UBI_SDK_PWM_ENABLED
88
89 #define CPU_FREQ_MHZ 64
90
91 #define MAIN_PROGRAM_START_ADDRESS 0x0800D000U
92
93 #define TIMEOUT_SEND_FOR_FW 50
94 #define BYTES_INTERVAL_FOR_FW 0x800
95
96 #ifdef MAIN_FW
97 #define UBI_MOTOR_DRIVER_ENABLED
98 #endif
99
100 #define TIMEOUT_CLEAR_FLASH 0 //sec
101 //необходимые дефайны для работы с данным типом модуля
102 //=====================================================================
103#elif defined(IT_IS_GUI)
104
105 //=====================================================================
106 //необходимые дефайны для работы с данным типом модуля
107 #define WHERE_DATA_TABLE 0x0807F000
108
109 #define CPU_FREQ_MHZ 170
110 #define MAIN_PROGRAM_START_ADDRESS 0x08008800U
111
112 #define TIMEOUT_SEND_FOR_FW 50
113 #define BYTES_INTERVAL_FOR_FW 0x800
114
115 #ifdef MAIN_FW
116 #define ENABLE_BQ25883
117 #endif
118
119 #define TIMEOUT_CLEAR_FLASH 20 //sec
120 //необходимые дефайны для работы с данным типом модуля
121 //=====================================================================
122#elif defined(IT_IS_BMS)
123 //=====================================================================
124 //необходимые дефайны для работы с данным типом модуля
125 #define WHERE_DATA_TABLE 0x0801F000
126
127 #define MAX_SIZE_FLASH_KB 128
128 #define MAIN_PROGRAM_START_ADDRESS 0x0800A000U
129 #define CPU_FREQ_MHZ 32
130
131 #define TIMEOUT_SEND_FOR_FW 200
132 #define BYTES_INTERVAL_FOR_FW 0x80
133
134 #ifdef MAIN_FW
135 #define ENABLE_BQ25883
136 #endif
137
138 #define TIMEOUT_CLEAR_FLASH 10 //sec
139 //необходимые дефайны для работы с данным типом модуля
140 //=====================================================================
141#elif defined(IT_IS_EMG)
142 //=====================================================================
143 //необходимые дефайны для работы с данным типом модуля
144 #define WHERE_DATA_TABLE 0x0801F800
145
146 #define MAIN_PROGRAM_START_ADDRESS 0x0800C800U
147 #define CPU_FREQ_MHZ 64
148
149 #define TIMEOUT_SEND_FOR_FW 50
150 #define BYTES_INTERVAL_FOR_FW 0x800
151
152 #define TIMEOUT_CLEAR_FLASH 0 //sec
153 //необходимые дефайны для работы с данным типом модуля
154 //=====================================================================
155#elif defined(IT_IS_OMG)
156 //=====================================================================
157 #define WHERE_DATA_TABLE 0x0807F800
158
159 //необходимые дефайны для работы с данным типом модуля
160 #define CPU_FREQ_MHZ 144
161 #define MAIN_PROGRAM_START_ADDRESS 0x08040000U
162
163 #define TIMEOUT_SEND_FOR_FW 200
164 #define BYTES_INTERVAL_FOR_FW 0x800
165
166 #define TIMEOUT_CLEAR_FLASH 10 //sec
167 //необходимые дефайны для работы с данным типом модуля
168 //=====================================================================
169#endif
170
171//ENABLE PORTS DEFINE
172
173//=====================================================================
174//протокол общения с CPU
175#define SPI_PORT_EN
176// #define UART_PORT_EN
177// #define ONE_WIRE_PORT_EN
178//#define USB_PORT_EN
179//#define HAL_SPI_MODULE_ENABLED
180//протокол общения с CPU
181//=====================================================================
182
183#define CHUNCK_SIZE 128
184
185#define CHECK_BOARD_NAME 0
186#define CHECK_BOARD_VERSION 0
187#define CHECK_BOARD_SUBVERSION 0
188#define CHECK_BOARD_REV 0
189#define CHECK_BOARD_SUBREV 0
190#define CHECK_BOARD_BUILD 0
191#define CHECK_BOARD_TYPE 0
192#define CHECK_BOARD_CODE 0
193#define CHECK_BOARD_ADDINFOTYPE 0
194#define CHECK_BOARD_ADDINFO 0
195
196#define COMPARE_DATA_MASK (CHECK_BOARD_NAME|(CHECK_BOARD_VERSION<<1)|(CHECK_BOARD_SUBVERSION<<2)|(CHECK_BOARD_REV<<3)|(CHECK_BOARD_SUBREV<<4)|\
197 (CHECK_BOARD_BUILD<<5)|(CHECK_BOARD_TYPE<<6)|(CHECK_BOARD_CODE<<7)|(CHECK_BOARD_ADDINFOTYPE<<8)|(CHECK_BOARD_ADDINFO<<9))
198
199
200//MODE=================================================================
201//#define IT_MASTER
202#define IT_SLAVE
203//MODE=================================================================
204
205
206#endif /* MAIN_UBI_SDK_H_ */
207
208#endif /*Example*/