Revision 1988
This is a working version of the code for the demo. It works on Bot 7, and partially on Bot 14. Due to the number of changes here, I'll list them by file:
traffic_navigation.h
I added a #define for sendGraph, so its main won't be compiled unless defined. Uncomment the #define line at the top of this file to turn its main on. Make sure you also comment out the #define for main-new. Also, has the new #define for the node wireless packet type.
readSerial.sh
I changed the output to print to stdout, instead of a file.
sendGraph.c
sendGraph.h
I modified the struct that stores and sends node data so it has a wireless packet type (80), and is 1 byte larger to hold it.
validTurns.c
One of the intersections on the map was placed incorrectly, and the robot drives off the line if it gets there. I added 2 if statements to control how the robot turns if it is at that intersection. The intersection has barcode numbers 13 and 16.
Makefile
I changed the target to main-new because that was what I was testing. If you're testing something else, make sure you change this line.
main-new.c
I changed the speed at which the robot drives at. I lowered it from 200 to 180, although this value depends on which bot it was used on. I also changed all of Alex's #ifdef debugging code into #define that takes up less space and makes the code look cleaner.
traffic_navigation.h | ||
---|---|---|
3 | 3 |
/* Debug Options - These must go before includes */ |
4 | 4 |
#define MAIN_NEW |
5 | 5 |
#define ORB_INTERSECTION |
6 |
//#define SENDGRAPH |
|
6 | 7 |
|
7 | 8 |
#include <dragonfly_lib.h> |
8 | 9 |
#include <wl_basic.h> |
... | ... | |
65 | 66 |
#define WPINGQUEUE 32 //[type, fromBot, toBot] |
66 | 67 |
#define WPINGREPLY 33 //[type, fromBot, toBot] |
67 | 68 |
#define WCOLLISIONAVOID 41 //[type, bot, intersection, collision-int] //Note: collision is an int and thus takes two spaces |
69 |
#define WGRAPHDATA 80 |
|
68 | 70 |
|
69 | 71 |
/*Wireless Parsing Status |
70 | 72 |
* For wireless parsing - status codes describing various errors/statuses with wireless |
Also available in: Unified diff