YRL Maze lab made more script-y

Dependencies:   PsiSwarmLab-ScriptingBased mbed

Fork of UKESF_Lab by UKESF Headstart Summer School

Committer:
jah128
Date:
Mon Oct 26 11:16:05 2015 +0000
Revision:
9:085e090e1ec1
Parent:
7:ef9ab01b9e26
Child:
10:1b09d4bb847b
Fork for variable frequency beacon

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jah128 0:8a5497a2e366 1 /***********************************************************************
jah128 0:8a5497a2e366 2 ** ██████╗ ███████╗██╗███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗ **
jah128 0:8a5497a2e366 3 ** ██╔══██╗██╔════╝██║██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║ **
jah128 0:8a5497a2e366 4 ** ██████╔╝███████╗██║███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║ **
jah128 0:8a5497a2e366 5 ** ██╔═══╝ ╚════██║██║╚════██║██║███╗██║██╔══██║██╔══██╗██║╚██╔╝██║ **
jah128 0:8a5497a2e366 6 ** ██║ ███████║██║███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║ **
jah128 0:8a5497a2e366 7 ** ╚═╝ ╚══════╝╚═╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ **
jah128 0:8a5497a2e366 8 ************************************************************************
jah128 0:8a5497a2e366 9 **(C) Dr James Hilder - York Robotics Laboratory - University of York **
jah128 0:8a5497a2e366 10 ***********************************************************************/
jah128 0:8a5497a2e366 11
jah128 6:ff3c66f7372b 12 /// PsiSwarm Beautiful Meme Project Source Code
jah128 6:ff3c66f7372b 13 /// Version 0.1
jah128 6:ff3c66f7372b 14 /// James Hilder, Alan Millard, Homero Elizondo, Jon Timmis
jah128 6:ff3c66f7372b 15 /// University of York
jah128 6:ff3c66f7372b 16
jah128 6:ff3c66f7372b 17 #ifndef MAIN_H
jah128 6:ff3c66f7372b 18 #define MAIN_H
jah128 6:ff3c66f7372b 19
jah128 6:ff3c66f7372b 20 #include "beacon.h"
jah128 6:ff3c66f7372b 21
jah128 9:085e090e1ec1 22 // Define the on-period for a IR pulse in microseconds (eg 50000 for 2Hz system, 20000 for a 5Hz system)
jah128 9:085e090e1ec1 23 #define BEACON_PERIOD 25000
jah128 9:085e090e1ec1 24
jah128 6:ff3c66f7372b 25 extern char beacon_found; // This will be a 1 if beacon is detected, 0 if it isn't
jah128 6:ff3c66f7372b 26 extern int beacon_heading; // The heading from the last time the beacon was detected
jah128 6:ff3c66f7372b 27 extern char robots_found[8]; // These will be a 1 when the respective robot [excluding self] was detected during the previous 500ms window
jah128 7:ef9ab01b9e26 28 extern int robots_heading[8]; // These are the headings from the last time the respective robots were detected
jah128 6:ff3c66f7372b 29 extern unsigned short robots_distance[8]; // This is the maximum sensor value from the last time the respective robot was detected
jah128 6:ff3c66f7372b 30 extern unsigned short reflected_sensor_data[8]; // The reflected IR values when this robots emitters are on
jah128 6:ff3c66f7372b 31 extern unsigned short background_sensor_data[8];// The raw IR values when no robot (or beacon) should have its IR on
jah128 6:ff3c66f7372b 32
jah128 9:085e090e1ec1 33 void update_display(void);
jah128 9:085e090e1ec1 34 void display_debug_info(void);
jah128 9:085e090e1ec1 35
jah128 0:8a5497a2e366 36 void user_code_setup(void);
jah128 0:8a5497a2e366 37 void user_code_loop(void);
jah128 0:8a5497a2e366 38 void handle_switch_event(char switch_state);
jah128 6:ff3c66f7372b 39 int main(void);
jah128 6:ff3c66f7372b 40
jah128 6:ff3c66f7372b 41
jah128 9:085e090e1ec1 42 void head_to_bearing_program(int target_bearing);
jah128 9:085e090e1ec1 43
jah128 6:ff3c66f7372b 44 void display_ir_readings(void);
jah128 6:ff3c66f7372b 45 void out(const char* format, ...) ;
jah128 6:ff3c66f7372b 46
jah128 6:ff3c66f7372b 47 #endif