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
|
#ifndef _DEFINES_H
#define _DEFINES_H
#ifndef NULL
#define NULL 0
#endif
//Integer definition
#ifndef int8
#ifdef __int8
#define int8 __int8
#else
#define int8 char
#endif
#endif
#ifndef int16
#ifdef __int16
#define int16 __int16
#else
#define int16 int
#endif
#endif
#ifndef int32
#ifdef __int32
#define int32 __int32
#else
#define int32 long
#endif
#endif
#ifndef int64
#ifdef __int64
#define int64 __int64
#else
#define int64 long long
#endif
#endif
//Unsigned
#ifndef uint8
#define uint8 unsigned int8
#endif
#ifndef uint16
#define uint16 unsigned int16
#endif
#ifndef uint32
#define uint32 unsigned int32
#endif
#ifndef uint64
#define uint64 unsigned int64
#endif
//Constants
#define SPEED_PER_PWM 1
#define DISTANCE_PER_VALUE 1
#define TICKS_PER_CM 205.0f
#define PI 3.14159265358979323846f
#define CYCLES_PER_CORRECTION 20
#define EMPTY_FLOAT 81188.1484f
//IO Module Names
enum IOModuleNames
{
//General
IO_START,
//Engines
IO_ENGINE_START = IO_START,
IO_ENGINE_DRIVE_LEFT = IO_ENGINE_START,
IO_ENGINE_DRIVE_RIGHT,
IO_ENGINE_DRIVE_BACK,
IO_ENGINE_END,
//Dribbler
IO_DRIBBLER_START = IO_ENGINE_END,
IO_DRIBBLER_MAIN = IO_DRIBBLER_START,
IO_DRIBBLER_END,
//Kicker
IO_KICKER_START = IO_DRIBBLER_END,
IO_KICKER_MAIN = IO_KICKER_START,
IO_KICKER_END,
//Sensors
IO_SENSOR_START = IO_KICKER_END,
IO_SENSOR_IR_0_DEG = IO_SENSOR_START,
IO_SENSOR_IR_30_DEG,
IO_SENSOR_IR_60_DEG,
IO_SENSOR_IR_100_DEG,
IO_SENSOR_IR_180_DEG,
IO_SENSOR_IR_260_DEG,
IO_SENSOR_IR_300_DEG,
IO_SENSOR_IR_330_DEG,
IO_SENSOR_DISTANCE_0_DEG,
IO_SENSOR_DISTANCE_90_DEG,
IO_SENSOR_DISTANCE_180_DEG,
IO_SENSOR_DISTANCE_270_DEG,
IO_SENSOR_MOUSE_LEFT,
IO_SENSOR_MOUSE_RIGHT,
IO_SENSOR_END,
//Leds
IO_LED_START = IO_SENSOR_END,
IO_LED_MAIN = IO_LED_START,
IO_LED_END,
//Displays
IO_DISPLAY_START = IO_LED_END,
IO_DISPLAY_MAIN = IO_DISPLAY_START,
IO_DISPLAY_END,
//Keyboards
IO_KEYBOARD_START = IO_DISPLAY_END,
IO_KEYBOARD_MAIN = IO_KEYBOARD_START,
IO_KEYBOARD_END,
//Position Tracker
IO_POSITION_TRACKER_START = IO_KEYBOARD_END,
IO_POSITION_TRACKER_MAIN,
IO_POSITION_TRACKER_END,
//Position Tracker
IO_BALL_TRACKER_START = IO_POSITION_TRACKER_END,
IO_BALL_TRACKER_MAIN,
IO_BALL_TRACKER_END,
//Navigators
IO_NAVIGATOR_START = IO_BALL_TRACKER_END,
IO_NAVIGATOR_MAIN,
IO_NAVIGATOR_END,
//General
IO_END = IO_NAVIGATOR_END,
};
#endif
|