asdf

Dependencies:   L3GD20 LSM303DLHC mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Movement.h Source File

Movement.h

00001 #ifndef Movement_H
00002 #define Movement_H
00003 
00004 #include "Sensors.h"
00005 #include "Motors.h"
00006 
00007 
00008 
00009 void moveNORTH()
00010 {
00011     switch(orientation)
00012     {
00013         case NORTH:
00014             // go forward...
00015             break;
00016         case WEST:
00017             // turn right then forward
00018             break;            
00019         case SOUTH:
00020             // turn around then forward
00021             break;            
00022         case EAST:
00023             // turn left then forward
00024             break;            
00025     }
00026     orientation = NORTH;
00027 }
00028 void moveSOUTH()
00029 {
00030     switch(orientation)
00031     {
00032         case NORTH:
00033             // turn around then forward...
00034             break;
00035         case WEST:
00036             // turn left then forward
00037             break;            
00038         case SOUTH:
00039             // go forward
00040             break;            
00041         case EAST:
00042             // turn right then forward
00043             break;            
00044     }
00045     orientation = SOUTH;
00046 }
00047 void moveEAST()
00048 {
00049     switch(orientation)
00050     {
00051         case NORTH:
00052             // turn right then forward...
00053             break;
00054         case WEST:
00055             // turn around then foward
00056             break;            
00057         case SOUTH:
00058             // turn left then forward
00059             break;            
00060         case EAST:
00061             // go forward
00062             break;            
00063     }
00064     orientation = EAST;
00065 }
00066 void moveWEST()
00067 {
00068     switch(orientation)
00069     {
00070         case NORTH:
00071             // turn left then forward...
00072             break;
00073         case WEST:
00074             // go forward
00075             break;            
00076         case SOUTH:
00077             // turn left then forward
00078             break;            
00079         case EAST:
00080             // turn around then forward
00081             break;            
00082     }
00083     orientation = WEST;
00084 }
00085 
00086 //////////////////////////////////////////////////////////////////////
00087 
00088 void Move()
00089 {
00090     
00091     switch(flood_findPath(Xpos, Ypos))
00092     {
00093         case M_NORTH:
00094             moveNORTH();
00095             break;
00096      
00097         case M_SOUTH:
00098             moveSOUTH();
00099             break;
00100      
00101         case M_WEST:
00102             moveWEST();
00103             break;
00104         
00105         case M_EAST:
00106             moveEAST();
00107             break;             
00108         
00109     } 
00110 }
00111 
00112 
00113 #endif