Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BeautifulMemeProject by
main.h@11:7b3ee540ba56, 2015-10-27 (annotated)
- Committer:
- jah128
- Date:
- Tue Oct 27 00:13:49 2015 +0000
- Revision:
- 11:7b3ee540ba56
- Parent:
- 10:1b09d4bb847b
- Child:
- 12:daa53285b6e4
Cleaned+reordered
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 | 6:ff3c66f7372b | 23 | |
jah128 | 11:7b3ee540ba56 | 24 | // 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 | 25 | #define BEACON_PERIOD 25000 |
jah128 | 9:085e090e1ec1 | 26 | |
jah128 | 6:ff3c66f7372b | 27 | extern char beacon_found; // This will be a 1 if beacon is detected, 0 if it isn't |
jah128 | 6:ff3c66f7372b | 28 | extern int beacon_heading; // The heading from the last time the beacon was detected |
jah128 | 6:ff3c66f7372b | 29 | 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 | 30 | extern int robots_heading[8]; // These are the headings from the last time the respective robots were detected |
jah128 | 6:ff3c66f7372b | 31 | extern unsigned short robots_distance[8]; // This is the maximum sensor value from the last time the respective robot was detected |
jah128 | 6:ff3c66f7372b | 32 | extern unsigned short reflected_sensor_data[8]; // The reflected IR values when this robots emitters are on |
jah128 | 6:ff3c66f7372b | 33 | extern unsigned short background_sensor_data[8];// The raw IR values when no robot (or beacon) should have its IR on |
jah128 | 10:1b09d4bb847b | 34 | extern char disable_ir_emitters; |
jah128 | 10:1b09d4bb847b | 35 | extern char step_cycle; |
jah128 | 10:1b09d4bb847b | 36 | extern char target_reached; |
jah128 | 10:1b09d4bb847b | 37 | extern char recharging_state; |
jah128 | 10:1b09d4bb847b | 38 | extern char prog_name [17]; |
jah128 | 10:1b09d4bb847b | 39 | extern char prog_info [17]; |
jah128 | 10:1b09d4bb847b | 40 | extern char main_program_state; |
jah128 | 10:1b09d4bb847b | 41 | extern char program_changed; |
jah128 | 11:7b3ee540ba56 | 42 | extern float battery_low_threshold; |
jah128 | 11:7b3ee540ba56 | 43 | extern float battery_high_threshold; |
jah128 | 11:7b3ee540ba56 | 44 | |
jah128 | 10:1b09d4bb847b | 45 | |
jah128 | 10:1b09d4bb847b | 46 | char * get_program_name(int index); |
jah128 | 10:1b09d4bb847b | 47 | void set_program(int index); |
jah128 | 10:1b09d4bb847b | 48 | void set_program_info(char * info); |
jah128 | 6:ff3c66f7372b | 49 | |
jah128 | 9:085e090e1ec1 | 50 | void update_display(void); |
jah128 | 9:085e090e1ec1 | 51 | void display_debug_info(void); |
jah128 | 9:085e090e1ec1 | 52 | |
jah128 | 0:8a5497a2e366 | 53 | void user_code_setup(void); |
jah128 | 0:8a5497a2e366 | 54 | void user_code_loop(void); |
jah128 | 0:8a5497a2e366 | 55 | void handle_switch_event(char switch_state); |
jah128 | 11:7b3ee540ba56 | 56 | |
jah128 | 6:ff3c66f7372b | 57 | int main(void); |
jah128 | 6:ff3c66f7372b | 58 | |
jah128 | 6:ff3c66f7372b | 59 | |
jah128 | 9:085e090e1ec1 | 60 | |
jah128 | 6:ff3c66f7372b | 61 | void display_ir_readings(void); |
jah128 | 6:ff3c66f7372b | 62 | void out(const char* format, ...) ; |
jah128 | 6:ff3c66f7372b | 63 | |
jah128 | 6:ff3c66f7372b | 64 | #endif |