Fork for variable frequency beacon
Fork of BeautifulMeme-ForkOldVersion by
main.h@12:daa53285b6e4, 2015-10-27 (annotated)
- Committer:
- jah128
- Date:
- Tue Oct 27 13:03:10 2015 +0000
- Revision:
- 12:daa53285b6e4
- Parent:
- 11:7b3ee540ba56
Add attraction dance
Who changed what in which revision?
User | Revision | Line number | New 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 |