Project

General

Profile

Revision 105

Recharging code for the robots now compiles. It is entirely untested.

View differences:

wl_recharge_group.c
14 14
void wl_recharge_cleanup(void);
15 15

  
16 16
// messgae handlers
17
void wl_recharge_station_available(int source);
17
void wl_recharge_available_station(int source);
18 18
void wl_recharge_request_accepted(int source);
19 19
void wl_recharge_verify(int source);
20 20
void wl_recharge_cancel(int source);
......
51 51

  
52 52
//global varaibles
53 53
//state variables
54
int state = NOT_RECHARGING;
54
int recharge_state = NOT_RECHARGING;
55 55
int station = -1;
56 56

  
57 57
//counter variables
......
88 88
 **/
89 89
void wl_recharge_begin(void)
90 90
{
91
	state = POLLING;
91
	recharge_state = POLLING;
92 92
	station = -1;
93 93
	pollCount = 0;
94 94
}
......
100 100
 **/
101 101
void wl_recharge_stop()
102 102
{
103
	state = NOT_RECHARGING;
103
	recharge_state = NOT_RECHARGING;
104 104
}
105 105

  
106 106
/**
......
109 109
 **/
110 110
void wl_recharge_dock(void)
111 111
{
112
	if (state != SEEKING)
112
	if (recharge_state != SEEKING)
113 113
	{
114 114
		WL_DEBUG_PRINT("Unexpected docking occurred.\n");
115 115
		return;
116 116
	}
117 117

  
118
	state = DOCKED;
118
	recharge_state = DOCKED;
119 119
}
120 120

  
121 121
/**
......
124 124
 **/
125 125
void wl_recharge_depart(void)
126 126
{
127
	if (state != DOCKED)
127
	if (recharge_state != DOCKED)
128 128
	{
129 129
		WL_DEBUG_PRINT("Unexpected departure occurred.\n");
130 130
		return;
131 131
	}
132 132
	
133
	state = DEPARTING;
133
	recharge_state = DEPARTING;
134 134
}
135 135

  
136 136
/**
......
142 142
 **/
143 143
int wl_recharge_get_state(void)
144 144
{
145
	return state;
145
	return recharge_state;
146 146
}
147 147

  
148 148
/**
......
162 162
 **/
163 163
void wl_recharge_send_poll(void)
164 164
{
165
	wl_send_global_packet(RECHARGE_GROUP, WL_RECHARGE_POLL_STATIONS,
165
	wl_send_global_packet(WL_RECHARGE_GROUP, WL_RECHARGE_POLL_STATIONS,
166 166
				NULL, 0, 0);
167 167
}
168 168

  
......
173 173
 **/
174 174
void wl_recharge_send_request(int dest)
175 175
{
176
	wl_send_robot_to_robot_global_packet(RECHARGE_GROUP, WL_RECHARGE_REQUEST,
176
	wl_send_robot_to_robot_global_packet(WL_RECHARGE_GROUP, WL_RECHARGE_REQUEST,
177 177
				NULL, 0, dest, REQUEST_FRAME);
178 178
}
179 179

  
......
185 185
 **/
186 186
void wl_recharge_send_verify(int dest)
187 187
{
188
	wl_send_robot_to_robot_global_packet(RECHARGE_GROUP, WL_RECHARGE_VERIFY,
188
	wl_send_robot_to_robot_global_packet(WL_RECHARGE_GROUP, WL_RECHARGE_VERIFY,
189 189
				NULL, 0, dest, VERIFY_FRAME);
190 190
}
191 191

  
......
195 195
 **/
196 196
void wl_recharge_send_cancel(int dest)
197 197
{
198
	wl_send_robot_to_robot_global_packet(RECHARGE_GROUP, WL_RECHARGE_CANCEL,
198
	wl_send_robot_to_robot_global_packet(WL_RECHARGE_GROUP, WL_RECHARGE_CANCEL,
199 199
				NULL, 0, dest, CANCEL_FRAME);
200 200
}
201 201

  
......
207 207
 **/
208 208
void wl_recharge_send_seeking(int dest)
209 209
{
210
	wl_send_robot_to_robot_global_packet(RECHARGE_GROUP, WL_RECHARGE_SEEKING,
210
	wl_send_robot_to_robot_global_packet(WL_RECHARGE_GROUP, WL_RECHARGE_SEEKING,
211 211
				NULL, 0, dest, SEEKING_FRAME);
212 212
}
213 213

  
......
219 219
 **/
220 220
void wl_recharge_send_docked(int dest)
221 221
{
222
	wl_send_robot_to_robot_global_packet(RECHARGE_GROUP, WL_RECHARGE_DOCKED,
222
	wl_send_robot_to_robot_global_packet(WL_RECHARGE_GROUP, WL_RECHARGE_DOCKED,
223 223
				NULL, 0, dest, DOCKED_FRAME);
224 224
}
225 225

  
......
236 236
 **/
237 237
void wl_recharge_timeout_handler(void)
238 238
{
239
	switch (state)
239
	switch (recharge_state)
240 240
	{
241 241
		case POLLING:
242 242
			if (pollCount <= 0)
......
252 252
			{
253 253
				//request failed
254 254
				station = -1;
255
				state = POLLING;
255
				recharge_state = POLLING;
256 256
				break;
257 257
			}
258 258
			requestCount--;
......
263 263
			{
264 264
				//station is down
265 265
				station = -1;
266
				state = POLLING;
266
				recharge_state = POLLING;
267 267
				break;
268 268
			}
269 269
			if (verifyCount % VERIFY_FREQUENCY == 0 && verifyCount != VERIFY_DELAY)
......
322 322
		case WL_RECHARGE_STATION_AVAILABLE:
323 323
			wl_recharge_available_station(source);
324 324
			break;
325
		case WL_RECHRAGE_REQUEST:
325
		case WL_RECHARGE_REQUEST:
326 326
			WL_DEBUG_PRINT("Only stations should receive WL_RECHARGE_REQUEST.\n");
327 327
			break;
328 328
		case WL_RECHARGE_REQUEST_ACCEPT:
......
354 354
 **/
355 355
void wl_recharge_available_station(int source)
356 356
{
357
	if (state != POLLING)
357
	if (recharge_state != POLLING)
358 358
		return;
359 359
	station = source;
360
	state = REQUESTING;
360
	recharge_state = REQUESTING;
361 361
	requestCount = REQUEST_DELAY;
362 362
	wl_recharge_send_request(station);
363 363
}
......
370 370
 **/
371 371
void wl_recharge_request_accepted(int source)
372 372
{
373
	if (state != REQUESTING)
373
	if (recharge_state != REQUESTING)
374 374
	{
375 375
		WL_DEBUG_PRINT("Accepted when we weren't requesting.\n");
376 376
		return;
......
381 381
		return;
382 382
	}
383 383

  
384
	state = SEEKING;
384
	recharge_state = SEEKING;
385 385
	verifyCount = VERIFY_DELAY;
386 386
}
387 387

  
......
400 400
		return;
401 401
	}
402 402
	
403
	switch (state)
403
	switch (recharge_state)
404 404
	{
405 405
		case SEEKING:
406 406
			wl_recharge_send_seeking(station);
......
430 430
	}
431 431

  
432 432
	verifyCount = VERIFY_DELAY;
433
	switch (state)
433
	switch (recharge_state)
434 434
	{
435 435
		case REQUESTING:
436 436
			station = -1;
437
			state = POLLING;
437
			recharge_state = POLLING;
438 438
			break;
439 439
		case SEEKING:
440 440
			station = -1;
441
			state = POLLING;
441
			recharge_state = POLLING;
442 442
			break;
443 443
		case DOCKED:
444 444
			WL_DEBUG_PRINT("Charging station kicked us out.\n");
......
469 469
	}
470 470
	
471 471
	verifyCount = VERIFY_DELAY;
472
	switch (state)
472
	switch (recharge_state)
473 473
	{
474 474
		case SEEKING:
475 475
			break;
......
499 499
	}
500 500
	
501 501
	verifyCount = VERIFY_DELAY;
502
	switch (state)
502
	switch (recharge_state)
503 503
	{
504 504
		case DOCKED:
505 505
		case DEPARTING:

Also available in: Unified diff