Revision 1957
Reverted revisions 1949 and 1950 due to broken code (main.c contained some sort
of wierd unresolved merge?)
main.c | ||
---|---|---|
7 | 7 |
|
8 | 8 |
#include "traffic_navigation.h" |
9 | 9 |
|
10 |
>>>>>>> .r1869 |
|
11 |
int main (void) { |
|
10 |
static int state, sign, dataLength, pingWaitTime, turnDir; |
|
11 |
static char sendBuffer[PACKET_LENGTH], prevBot, nextBot, id, nextDir, nextPath, intersectionNum; |
|
12 |
static unsigned char *packet; |
|
12 | 13 |
|
13 | 14 |
void enterIntersectionQueue(int sign); |
14 | 15 |
void waitInIntersectionQueue(); |
... | ... | |
34 | 35 |
|
35 | 36 |
sendBuffer[1] = id; |
36 | 37 |
|
37 |
state = SHIGHWAY; |
|
38 |
|
|
39 |
int startLeft = 0, startRight = 0; |
|
40 |
|
|
41 |
|
|
38 |
/* |
|
39 |
doDrive(200); |
|
40 |
turn(DOUBLE, ILEFT); |
|
41 |
*/ |
|
42 |
/* while(1) |
|
43 |
doDrive(255); |
|
44 |
*/ |
|
45 |
|
|
42 | 46 |
while (1) { |
43 | 47 |
/*DTM Finite State Machine*/ |
44 | 48 |
switch(state){ |
45 | 49 |
case SROAD:/*Following a normal road*/ |
46 |
<<<<<<< .mine |
|
47 |
sign = lineFollow(200); |
|
48 |
======= |
|
49 | 50 |
// sign = lineFollow(); |
50 |
>>>>>>> .r1869 |
|
51 | 51 |
//other road behaviors |
52 | 52 |
//tailgating? |
53 | 53 |
//read barcode |
... | ... | |
105 | 105 |
} |
106 | 106 |
state = SINTERSECTION; |
107 | 107 |
break; |
108 |
case PASSLEFT:/*Passing left*/ |
|
109 |
|
|
110 |
motor_l_set(FORWARD, 180); |
|
111 |
motor_r_set(FORWARD, 250); |
|
112 |
|
|
113 |
orb_set_color(YELLOW); |
|
114 |
|
|
115 |
usb_puti(startRight); |
|
116 |
usb_puts("\n"); |
|
117 |
usb_puti(startLeft); |
|
118 |
usb_puts("\n"); |
|
119 |
usb_puts("\n"); |
|
120 |
usb_puti((encoder_get_x(RIGHT) - startRight) - (encoder_get_x(LEFT) - startLeft)); |
|
121 |
usb_puts("\n\n"); |
|
122 |
|
|
123 |
//if((encoder_get_x(RIGHT) - startRight) - (encoder_get_x(LEFT) - startLeft) > 200) |
|
124 |
if(!onLine()) |
|
125 |
{ |
|
126 |
state = FINDLINE; |
|
127 |
delay_ms(HALF_SECOND); |
|
128 |
} |
|
129 |
break; |
|
130 |
case PASSRIGHT:/*Passing right*/ |
|
131 |
break; |
|
132 |
case FINDLINE:/*Drive straight until a line is falled*/ |
|
133 |
motor_l_set(FORWARD, 240); |
|
134 |
motor_r_set(FORWARD, 240); |
|
135 |
|
|
136 |
orb_set_color(RED); |
|
137 |
|
|
138 |
if(onLine()) |
|
139 |
orb_set_color(ORB_OFF); |
|
140 |
state = SHIGHWAY; |
|
141 |
break; |
|
142 | 108 |
default: |
143 | 109 |
usb_puts("I got stuck in an unknown state! My state is "); |
144 | 110 |
usb_puti(state); |
Also available in: Unified diff