diff options
author | nonailla <fionajkamps@gmail.com> | 2022-06-06 12:42:51 +0200 |
---|---|---|
committer | nonailla <fionajkamps@gmail.com> | 2022-06-06 12:42:51 +0200 |
commit | 33875727594671fcaa70a38ff58eb6fc14710a20 (patch) | |
tree | db9d7e1c75b6faaa0f74706b2760b04d840904a4 /robot/mode_grid.h | |
parent | 9cbd1ed3bd8e59e24bd4db92b749213ac2c0c8f9 (diff) |
grid mode working on its own
Diffstat (limited to 'robot/mode_grid.h')
-rw-r--r-- | robot/mode_grid.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/robot/mode_grid.h b/robot/mode_grid.h index 55093ad..42c2c80 100644 --- a/robot/mode_grid.h +++ b/robot/mode_grid.h @@ -7,4 +7,86 @@ * * processes orders from the order buffer */ + +enum orientation{ + North, + East, + South, + West +} direction; + +typedef struct { + int x; + int y; +} coordinates; + +coordinates order[4]; +coordinates location; +coordinates destination; + +char xLocation; +char yLocation; + +//LINE 25-68 CAN BE TAKEN AWAY WHEN USED WITH MODE_MAZE + +// The 3pi include file must be at the beginning of any program that +// uses the Pololu AVR library and 3pi. +#include <pololu/3pi.h> + +// This include file allows data to be stored in program space. The +// ATmega168 has 16k of program space compared to 1k of RAM, so large +// pieces of static data should be stored in program space. +#include <avr/pgmspace.h> + +unsigned int sensors[5]; // an array to hold sensor values +unsigned int position; +// Introductory messages. The "PROGMEM" identifier causes the data to +// go into program space. +const char welcome_line1[] PROGMEM = " Pololu"; +const char welcome_line2[] PROGMEM = "3\xf7 Robot"; +const char demo_name_line1[] PROGMEM = "PID Line"; +const char demo_name_line2[] PROGMEM = "follower"; + +// A couple of simple tunes, stored in program space. +const char welcome[] PROGMEM = ">g32>>c32"; +const char go[] PROGMEM = "L16 cdegreg4"; + +// Data for generating the characters used in load_custom_characters +// and display_readings. By reading levels[] starting at various +// offsets, we can generate all of the 7 extra characters needed for a +// bargraph. This is also stored in program space. +const char levels[] PROGMEM = { + 0b00000, + 0b00000, + 0b00000, + 0b00000, + 0b00000, + 0b00000, + 0b00000, + 0b11111, + 0b11111, + 0b11111, + 0b11111, + 0b11111, + 0b11111, + 0b11111 +}; + void w2_mode_grid(); +void full_rotation(); +void grid_rotation_left(); +void grid_rotation_right(); +void grid_crossway_detection(); +void gridFollowLine(); +void orderOne(); +void orderTwo(); +void orderThree() +void orderFour() +void beginLocation() +void turn_North() +void turn_West() +void turn_South() +void turn_East() +void locationMessage() +void arrivedMessage() + |