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
13
#include "
Devices/enum_discription.h
"
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*/
enum_discription.h
example
UBI_SDK.h
Generated by
1.13.2