YRL Maze lab made more script-y

Dependencies:   PsiSwarmLab-ScriptingBased mbed

Fork of UKESF_Lab by UKESF Headstart Summer School

Committer:
jah128
Date:
Tue Oct 27 13:03:10 2015 +0000
Revision:
12:daa53285b6e4
Parent:
11:7b3ee540ba56
Child:
17:da524989b637
Add attraction dance

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 11:7b3ee540ba56 13 /// Version 0.2
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 10:1b09d4bb847b 20 #include "psiswarm.h"
jah128 6:ff3c66f7372b 21 #include "beacon.h"
jah128 10:1b09d4bb847b 22 #include "programs.h"
jah128 12:daa53285b6e4 23 #include "vector.h"
jah128 6:ff3c66f7372b 24
jah128 11:7b3ee540ba56 25 // Define the on-period for a IR pulse in microseconds (eg 50000 for 2Hz system, 25000 for a 4Hz system or 20000 for a 5Hz system)
jah128 9:085e090e1ec1 26 #define BEACON_PERIOD 25000
jah128 9:085e090e1ec1 27
jah128 6:ff3c66f7372b 28 extern char beacon_found; // This will be a 1 if beacon is detected, 0 if it isn't
jah128 6:ff3c66f7372b 29 extern int beacon_heading; // The heading from the last time the beacon was detected
jah128 6:ff3c66f7372b 30 extern char robots_found[8]; // These will be a 1 when the respective robot [excluding self] was detected during the previous 500ms window
jah128 10:1b09d4bb847b 31 extern int robots_heading[8]; // These are the headings from the last time the respective robots were detected
jah128 6:ff3c66f7372b 32 extern unsigned short robots_distance[8]; // This is the maximum sensor value from the last time the respective robot was detected
jah128 6:ff3c66f7372b 33 extern unsigned short reflected_sensor_data[8]; // The reflected IR values when this robots emitters are on
jah128 6:ff3c66f7372b 34 extern unsigned short background_sensor_data[8];// The raw IR values when no robot (or beacon) should have its IR on
jah128 10:1b09d4bb847b 35 extern char disable_ir_emitters;
jah128 10:1b09d4bb847b 36 extern char step_cycle;
jah128 10:1b09d4bb847b 37 extern char target_reached;
jah128 10:1b09d4bb847b 38 extern char recharging_state;
jah128 10:1b09d4bb847b 39 extern char prog_name [17];
jah128 10:1b09d4bb847b 40 extern char prog_info [17];
jah128 10:1b09d4bb847b 41 extern char main_program_state;
jah128 10:1b09d4bb847b 42 extern char program_changed;
jah128 12:daa53285b6e4 43 extern char program_run_init;
jah128 11:7b3ee540ba56 44 extern float battery_low_threshold;
jah128 11:7b3ee540ba56 45 extern float battery_high_threshold;
jah128 11:7b3ee540ba56 46
jah128 10:1b09d4bb847b 47
jah128 10:1b09d4bb847b 48 char * get_program_name(int index);
jah128 10:1b09d4bb847b 49 void set_program(int index);
jah128 10:1b09d4bb847b 50 void set_program_info(char * info);
jah128 6:ff3c66f7372b 51
jah128 9:085e090e1ec1 52 void update_display(void);
jah128 9:085e090e1ec1 53 void display_debug_info(void);
jah128 9:085e090e1ec1 54
jah128 0:8a5497a2e366 55 void user_code_setup(void);
jah128 0:8a5497a2e366 56 void user_code_loop(void);
jah128 0:8a5497a2e366 57 void handle_switch_event(char switch_state);
jah128 11:7b3ee540ba56 58
jah128 6:ff3c66f7372b 59 int main(void);
jah128 6:ff3c66f7372b 60
jah128 6:ff3c66f7372b 61
jah128 9:085e090e1ec1 62
jah128 6:ff3c66f7372b 63 void display_ir_readings(void);
jah128 6:ff3c66f7372b 64 void out(const char* format, ...) ;
jah128 6:ff3c66f7372b 65
jah128 6:ff3c66f7372b 66 #endif