root / trunk / code / projects / traffic_navigation / collision_avoid.h @ 1929
History | View | Annotate | Download (1.08 KB)
1 | 1892 | azl | #ifndef COLLISION_AVOID_H
|
---|---|---|---|
2 | #define COLLISION_AVOID_H
|
||
3 | /*
|
||
4 | * Map of Intersection:
|
||
5 | * |D0 |
|
||
6 | * | |
|
||
7 | * ______|E X|______ Center 0-3 are Intersection Blocks
|
||
8 | * D1 X 0I1 E D3
|
||
9 | * _____E 2I3 X_____
|
||
10 | * |X E|
|
||
11 | * | |
|
||
12 | * |D2 |
|
||
13 | *
|
||
14 | * Naming scheme:
|
||
15 | * First Letter:
|
||
16 | * D: Direction
|
||
17 | * I: Intersection
|
||
18 | * Second Number:
|
||
19 | * #of Direction or Intersection Block
|
||
20 | * Third Letter: Only applicable for Directions
|
||
21 | * E for enter direction
|
||
22 | * X for exit direction
|
||
23 | */
|
||
24 | //don't change this ordering unless you're sure it'll work for rotating the intersection
|
||
25 | #define D0E 1<<0 |
||
26 | #define D0X 1<<4 |
||
27 | 1894 | azl | #define D1E 1<<1 |
28 | #define D1X 1<<5 |
||
29 | 1895 | azl | #define D2E 1<<2 |
30 | #define D2X 1<<6 |
||
31 | 1894 | azl | #define D3E 1<<3 |
32 | #define D3X 1<<7 |
||
33 | 1892 | azl | #define I0 1<<8 |
34 | #define I1 1<<9 |
||
35 | #define I2 1<<11 |
||
36 | #define I3 1<<10 |
||
37 | /*rotation groups
|
||
38 | * Naming scheme is the same, except instead of numbers in the second field, we have A for any
|
||
39 | * If there is an S at the end, it is a shift value for getting all the bits to be aligned to the LSB.
|
||
40 | */
|
||
41 | #define DAE 0x000f |
||
42 | #define DAX 0x00f0 |
||
43 | #define DAXS 4 |
||
44 | #define IA 0x0f00 |
||
45 | #define IAS 8 |
||
46 | #endif |