user_setup.h
10.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
#ifndef __USER_SETUP_H
#define __USER_SETUP_H
#include "bsp.h"
#define DRIVER_HINS_BLD2L 0X0001//兴颂BLD2L
#define DRIVER_HINS_BLD30 0X0002//兴颂BLD30或者STD2L
#define DRIVER_SDO 0X0004//CANOPEN-SDO通讯 步科 风得控 AMC ELIFE DIS
#define DRIVER_CURTIS 0X0008//柯蒂斯
#define P_SETUP_SINGLE_PLAYER 0//单机版本:0.关闭单机测试,1:开启单机测试。
#define P_SETUP_NAV_TYPE 1//导航方式:0.磁条, 1.二维码, 2.SLAM, 3.Vslam,4.PPC
#define P_SETUP_MUSIC_TYPE 1//音乐播报器类型 1新版DADONG 2旧版
#define P_SETUP_PLATFORM_TYPE 5//平台类型:1悬臂轴,2双层SMT,3单层标准SMT,4叉车
#define P_SETUP_CHASSIS_MODE 0//底盘类型:0.单差速,1.双转向架差速,2.单舵轮,3.双舵轮,4三舵轮,5.四舵轮,6.改造转向轮
#define P_SETUP_LIDAR2BASE_X 0//424//雷达到运动中心X距离(mm)
#define P_SETUP_LIDAR2BASE_Y 0//534//雷达到运动中心Y距离(mm)
#define P_SETUP_LIDAR2BASE_THETA 0//-450//雷达和车体前进方向夹角(0.1度)(-45.0°写成3150对应315.0°)
#define P_SETUP_WHEEL_X_DIS 0//双驱动轮前进方向距离
#define P_SETUP_WHEEL_Y_DIS 900//双驱动轮横移方向距离
#define P_SETUP_ANGLE_ENCODER_NUM 0//角度编码器数量
#define P_SETUP_ANGLE_ENCODER_DIR 0//角度编码器方向调整
#define P_SETUP_MAGNAV_DIR 0//导引传感器方向调整
#define P_SETUP_DIS_ENCODER_DIR 0//拉线编码器方向调整
#define P_SETUP_BATTERYTYPE 0//电池类型:1冠宇电池
#define P_SETUP_MOTOR_DRIVER_BRAND DRIVER_HINS_BLD30//行走驱动品牌
#define P_SETUP_MOTOR_NUM 0//行走电机数量
#define P_SETUP_MOTOR_SPEED_RATIO_NUM 6//行走速比分子
#define P_SETUP_MOTOR_SPEED_RATIO_DEN 1//行走速比分母
#define P_SETUP_MOTOR_DIS_RATIO_NUM 1//行走位置比分子
#define P_SETUP_MOTOR_DIS_RATIO_DEN 1//行走位置比分母
#define P_SETUP_MOTOR_CAN_CONNECTION 0//行走can线接法
#define P_SETUP_MOTOR_DIR 1000//行走轮方向调整
#define P_SETUP_STEERING_DRIVER_BRAND DRIVER_HINS_BLD2L//转向驱动品牌
#define P_SETUP_STEERING_NUM 0//转向电机数量
#define P_SETUP_STEERING_SPEED_RATIO_NUM 1//转向转速比分子
#define P_SETUP_STEERING_SPEED_RATIO_DEN 1//转向转速比分母
#define P_SETUP_STEERING_DIS_RATIO_NUM 1//转向位置比分子
#define P_SETUP_STEERING_DIS_RATIO_DEN 1//转向位置比分母
#define P_SETUP_STEERING_CAN_CONNECTION 0//转向can线接法
#define P_SETUP_STEERING_DIR 0//转向轮方向调整
#define P_SETUP_LIFTER_DRIVER_BRAND DRIVER_HINS_BLD2L//举升驱动品牌
#define P_SETUP_LIFTER_NUM 0//举升电机数量
#define P_SETUP_LIFTER_SPEED_RATIO_NUM 1//举升转速比分子
#define P_SETUP_LIFTER_SPEED_RATIO_DEN 1//举升转速比分母
#define P_SETUP_LIFTER_DIS_RATIO_NUM 1//举升位置比分子
#define P_SETUP_LIFTER_DIS_RATIO_DEN 1//举升位置比分母
#define P_SETUP_LIFTER_CAN_CONNECTION 1000//举升can线接法
#define P_SETUP_LIFTER_DIR 1000//举升轮方向调整
#define P_SETUP_SHIFTER_DRIVER_BRAND DRIVER_HINS_BLD2L//移轴驱动品牌
#define P_SETUP_SHIFTER_NUM 0//移轴电机数量
#define P_SETUP_SHIFTER_SPEED_RATIO_NUM 1//移轴转速比分子
#define P_SETUP_SHIFTER_SPEED_RATIO_DEN 1//移轴转速比分母
#define P_SETUP_SHIFTER_DIS_RATIO_NUM 1//移轴位置比分子
#define P_SETUP_SHIFTER_DIS_RATIO_DEN 1//移轴位置比分母
#define P_SETUP_SHIFTER_CAN_CONNECTION 1000//移轴can线接法
#define P_SETUP_SHIFTER_DIR 1000//移轴轮方向调整
#define P_SETUP_PUSHER_DRIVER_BRAND DRIVER_HINS_BLD2L//推杆驱动品牌
#define P_SETUP_PUSHER_NUM 0//推杆电机数量
#define P_SETUP_PUSHER_SPEED_RATIO_NUM 1//推杆转速比分子
#define P_SETUP_PUSHER_SPEED_RATIO_DEN 1//推杆转速比分母
#define P_SETUP_PUSHER_DIS_RATIO_NUM 1//推杆位置比分子
#define P_SETUP_PUSHER_DIS_RATIO_DEN 1//推杆位置比分母
#define P_SETUP_PUSHER_CAN_CONNECTION 0//推杆can线接法
#define P_SETUP_PUSHER_DIR 0//推杆轮方向调整
#define P_SETUP_CONTROLLER1_IP1 192//服务器IP192
#define P_SETUP_CONTROLLER1_IP2 168//服务器IP168
#define P_SETUP_CONTROLLER1_IP3 0 //服务器IP0
#define P_SETUP_CONTROLLER1_IP4 30 //服务器IP30
#define P_SETUP_CONTROLLER2_IP1 192//服务器IP192
#define P_SETUP_CONTROLLER2_IP2 168//服务器IP168
#define P_SETUP_CONTROLLER2_IP3 0 //服务器IP0
#define P_SETUP_CONTROLLER2_IP4 31 //服务器IP30
#define P_SETUP_CONTROLLER3_IP1 192//服务器IP192
#define P_SETUP_CONTROLLER3_IP2 168//服务器IP168
#define P_SETUP_CONTROLLER3_IP3 0 //服务器IP0
#define P_SETUP_CONTROLLER3_IP4 32 //服务器IP30
#define P_SETUP_CONTROLLER4_IP1 192//服务器IP192
#define P_SETUP_CONTROLLER4_IP2 168//服务器IP168
#define P_SETUP_CONTROLLER4_IP3 0 //服务器IP0
#define P_SETUP_CONTROLLER4_IP4 33 //服务器IP30
/*四个行走轮设置ID编号*/
#define MOTOR1_ID 0x01
#define MOTOR2_ID 0x01
#define MOTOR3_ID 0x0603
#define MOTOR4_ID 0x0604
/*四个行走轮返回ID编号*/
#define MOTOR1_BACK_ID 0x01
#define MOTOR2_BACK_ID 0x01
#define MOTOR3_BACK_ID 0x0583
#define MOTOR4_BACK_ID 0x0584
/*四个舵轮设置ID编号*/
#define STEERING1_ID 0x0605
#define STEERING2_ID 0x0606
#define STEERING3_ID 0x0607
#define STEERING4_ID 0x0608
/*四个舵轮返回ID编号*/
#define STEERING1_BACK_ID 0x0585
#define STEERING2_BACK_ID 0x0586
#define STEERING3_BACK_ID 0x0587
#define STEERING4_BACK_ID 0x0588
/*举升电机ID*/
#define LIFTER1_ID 0x9
#define LIFTER2_ID 0x9
#define LIFTER3_ID 0x060B
#define LIFTER4_ID 0x060C
/*举升电机返回ID*/
#define LIFTER1_BACK_ID 0x9
#define LIFTER2_BACK_ID 0x9
#define LIFTER3_BACK_ID 0x058B
#define LIFTER4_BACK_ID 0x058C
/*移轴电机ID*/
#define SHIFTER1_ID 0x09
#define SHIFTER2_ID 0x05
#define SHIFTER3_ID 0x060F
/*移轴电机返回ID*/
#define SHIFTER1_BACK_ID 0x09
#define SHIFTER2_BACK_ID 0x05
#define SHIFTER3_BACK_ID 0x058F
/*推杆电机ID*/
#define PUSHER1_ID 0x0605
#define PUSHER2_ID 0x0000
#define PUSHER3_ID 0x0000
/*推杆电机返回ID*/
#define PUSHER1_BACK_ID 0x0585
#define PUSHER2_BACK_ID 0x0000
#define PUSHER3_BACK_ID 0x0000
#define LIGHT_STOP_SIGNAL_DIS 300 //开启光电停车范围
#define REFLECTIVE_RANGE 50 //寻找反光贴范围
#define TURNINGOFF_ANGLE 0.025f//出弯角度判断
#define POSARRIVE_RANGE 10 //位置到达判断范围
#define PRINT_TYPE_SELECT 1//打印类型1
#define PRINT_FREQUENCY 10//多少周期打印一次
#define START_SPEEDUP_RANGE 300//起步平稳加速范围
#define START_SPEEDDIFF_LIMIT 10 //起步速度差限制
#define ADVANCE_STOPSLOPE_ANGLE 0.6//弧线或者原地转弯 减速角度
#define TURNSPEED_MIN 30//最小转弯速度
#define TURNSPEED_MAX 50//最大转弯速度
#define ARC_TURNSPEED_MIN 100//最小圆弧转弯速度
#define DONTSETVALUE 2147483647 //不需要设置值
typedef enum
{
SETUP_NAV_TYPE, //导航方式
SETUP_TURN_MODE, //转向方式
SETUP_ANGLE_ENCODER_NUM, //角度编码器数量
SETUP_ANGLE_ENCODER_DIR, //角度编码器方向调整*********111*555**********
SETUP_MAGNAV_DIR, //导引传感器方向调整
SETUP_DIS_ENCODER_NUM, //拉线编码器个数
SETUP_MOTOR_NUM, //行走电机数量
SETUP_MOTOR_SPEED_RATIO_NUM, //行走速比分子
SETUP_MOTOR_SPEED_RATIO_DEN, //行走速比分母*********222*555**********
SETUP_MOTOR_DIS_RATIO_NUM, //行走位置比分子
SETUP_MOTOR_DIS_RATIO_DEN, //行走位置比分母
SETUP_MOTOR_CAN_CONNECTION, //行走can线接法
SETUP_MOTOR_DIR, //行走轮方向调整
SETUP_STEERING_NUM, //转向电机数量*********333*555**********
SETUP_STEERING_SPEED_RATIO_NUM, //转向转速比分子
SETUP_STEERING_SPEED_RATIO_DEN, //转向转速比分母
SETUP_STEERING_DIS_RATIO_NUM, //转向位置比分子
SETUP_STEERING_DIS_RATIO_DEN, //转向位置比分母
SETUP_STEERING_CAN_CONNECTION, //转向can线接法*********444*555**********
SETUP_STEERING_DIR, //转向轮方向调整
SETUP_LIFTER_NUM, //举升电机数量
SETUP_LIFTER_SPEED_RATIO_NUM, //举升转速比分子
SETUP_LIFTER_SPEED_RATIO_DEN, //举升转速比分母
SETUP_LIFTER_DIS_RATIO_NUM, //举升位置比分子*********555*555**********
SETUP_LIFTER_DIS_RATIO_DEN, //举升位置比分母
SETUP_LIFTER_CAN_CONNECTION, //举升can线接法
SETUP_LIFTER_DIR, //举升轮方向调整
SETUP_SHIFTER_NUM, //移轴电机数量
SETUP_SHIFTER_SPEED_RATIO_NUM, //移轴转速比分子*********666*555**********
SETUP_SHIFTER_SPEED_RATIO_DEN, //移轴转速比分母
SETUP_SHIFTER_DIS_RATIO_NUM, //移轴位置比分子
SETUP_SHIFTER_DIS_RATIO_DEN, //移轴位置比分母
SETUP_SHIFTER_CAN_CONNECTION, //移轴can线接法
SETUP_SHIFTER_DIR, //移轴轮方向调整*********777*555**********
SETUP_PUSHER_NUM, //推杆电机数量
SETUP_PUSHER_SPEED_RATIO_NUM, //推杆转速比分子
SETUP_PUSHER_SPEED_RATIO_DEN, //推杆转速比分母
SETUP_PUSHER_DIS_RATIO_NUM, //推杆位置比分子
SETUP_PUSHER_DIS_RATIO_DEN, //推杆位置比分母*********888*555**********
SETUP_PUSHER_CAN_CONNECTION, //推杆can线接法
SETUP_PUSHER_DIR, //推杆轮方向调整
SETUP_MOTOR_DRIVER_BRAND, //行走驱动器品牌 0.兴颂 ,1.步科 ,2.风得控 ,255.非can通讯
SETUP_STEERING_DRIVER_BRAND, //转向驱动器品牌 0.兴颂 ,1.步科 ,2.风得控 ,255.非can通讯
SETUP_LIFTER_DRIVER_BRAND, //举升驱动器品牌 0.兴颂 ,1.步科 ,2.风得控 ,255.非can通讯*********999*555**********
SETUP_SHIFTER_DRIVER_BRAND, //移轴驱动器品牌 0.兴颂 ,1.步科 ,2.风得控 ,255.非can通讯
SETUP_PUSHER_DRIVER_BRAND, //推杆驱动器品牌 0.兴颂 ,1.步科 ,2.风得控 ,255.非can通讯
SETUP_CONTROLLER1_IP1, //服务器IP192
SETUP_CONTROLLER1_IP2, //服务器IP168
SETUP_CONTROLLER1_IP3, //服务器IP0*********10*555**********
SETUP_CONTROLLER1_IP4, //服务器IP30
SETUP_CONTROLLER2_IP1, //服务器IP192
SETUP_CONTROLLER2_IP2, //服务器IP168
SETUP_CONTROLLER2_IP3, //服务器IP0
SETUP_CONTROLLER2_IP4, //服务器IP30*********11*555**********
SETUP_CONTROLLER3_IP1, //服务器IP192
SETUP_CONTROLLER3_IP2, //服务器IP168
SETUP_CONTROLLER3_IP3, //服务器IP0
SETUP_CONTROLLER3_IP4, //服务器IP30
SETUP_CONTROLLER4_IP1, //服务器IP192
SETUP_CONTROLLER4_IP2, //服务器IP168
SETUP_CONTROLLER4_IP3, //服务器IP0
SETUP_CONTROLLER4_IP4, //服务器IP30
SETUP_LIDAR2BASE_X, //雷达到运动中心X距离(mm)
SETUP_LIDAR2BASE_Y, //雷达到运动中心Y距离(mm)
SETUP_LIDAR2BASE_THETA, //雷达和车体前进方向夹角(0.1度)(-45.0°写成3150对应315.0°)
SETUP_WHEEL_X_DIS, //双驱动轮前进方向距离
SETUP_WHEEL_Y_DIS, //双驱动轮横移方向距离
SETUP_BATTERYTYPE = 98, //电池类型1冠宇电池
SETUP_PLATFORM_TYPE = 99, //agv平台类型:1悬臂轴,2双层SMT
}ENUM_SETUP_DATA;//控制器保存的固定参数数据
extern unsigned long *pSetup;
extern void initSetup(unsigned long *pStart,unsigned long len);
extern void Setup_Process(void);
extern void Setup_Process_Map(void);
unsigned char PowerOn_ReadFlash_ConstData(void);
void PowerOn_WriteFlash_ConstData(void);
void PowerOff_ClearConstFlash(void);
#endif