Dependencies:   PinDetect mbed Servo

Committer:
Rufaida
Date:
Mon Jun 18 17:47:17 2012 +0000
Revision:
0:81f78497df4e

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rufaida 0:81f78497df4e 1 #include "events.h"
Rufaida 0:81f78497df4e 2
Rufaida 0:81f78497df4e 3 /*pindetect pins on the mbed*/
Rufaida 0:81f78497df4e 4 PinDetect Top_Button (p13);
Rufaida 0:81f78497df4e 5 PinDetect Near_Top_Button (p14);
Rufaida 0:81f78497df4e 6 PinDetect Near_Bottom_Button (p15);
Rufaida 0:81f78497df4e 7 PinDetect Bottom_Button (p16);
Rufaida 0:81f78497df4e 8 PinDetect Top_Call_Button (p17);
Rufaida 0:81f78497df4e 9 PinDetect Bottom_Call_Button (p19);
Rufaida 0:81f78497df4e 10 PinDetect Go_Top_Button (p20);
Rufaida 0:81f78497df4e 11 PinDetect Go_Bottom_Button (p21);
Rufaida 0:81f78497df4e 12 PinDetect Safety (p22);
Rufaida 0:81f78497df4e 13 /*definitions*/
Rufaida 0:81f78497df4e 14 events ev_q [q_size];
Rufaida 0:81f78497df4e 15 int load=0,unload=0;
Rufaida 0:81f78497df4e 16
Rufaida 0:81f78497df4e 17 void new_event(events ev) {//function for new event
Rufaida 0:81f78497df4e 18 ev_q[load++]= ev;//each time move the load to the next array
Rufaida 0:81f78497df4e 19 if (load==q_size)//load equal to the size of array
Rufaida 0:81f78497df4e 20 load=0;//load back to first array
Rufaida 0:81f78497df4e 21 }
Rufaida 0:81f78497df4e 22 int empty_q (void) {//function for empty array
Rufaida 0:81f78497df4e 23 return load==unload;//when unload and load are equal
Rufaida 0:81f78497df4e 24 }
Rufaida 0:81f78497df4e 25 events get_event(void) {//function for getting event
Rufaida 0:81f78497df4e 26 events e;//declearing the ev
Rufaida 0:81f78497df4e 27 do printf("");
Rufaida 0:81f78497df4e 28 while (load==unload);
Rufaida 0:81f78497df4e 29 e=ev_q[unload++];//each time move the unload to the next array
Rufaida 0:81f78497df4e 30 if (unload==q_size)//unload equal to the size of array
Rufaida 0:81f78497df4e 31 unload=0;//unload back to first array
Rufaida 0:81f78497df4e 32 return e;//return to the fisrt event
Rufaida 0:81f78497df4e 33 }
Rufaida 0:81f78497df4e 34
Rufaida 0:81f78497df4e 35 //event functions
Rufaida 0:81f78497df4e 36 void top_button () {
Rufaida 0:81f78497df4e 37 new_event(ev_Top_Button);
Rufaida 0:81f78497df4e 38 }
Rufaida 0:81f78497df4e 39 void near_top_button () {
Rufaida 0:81f78497df4e 40 new_event(ev_Near_Top_Button);
Rufaida 0:81f78497df4e 41 }
Rufaida 0:81f78497df4e 42 void near_bottom_button () {
Rufaida 0:81f78497df4e 43 new_event(ev_Near_Bottom_Button);
Rufaida 0:81f78497df4e 44 }
Rufaida 0:81f78497df4e 45 void bottom_button () {
Rufaida 0:81f78497df4e 46 new_event(ev_Bottom_Button);
Rufaida 0:81f78497df4e 47 }
Rufaida 0:81f78497df4e 48 void top_call_button () {
Rufaida 0:81f78497df4e 49 new_event(ev_Top_Call_Button);
Rufaida 0:81f78497df4e 50 call_to_top=1;
Rufaida 0:81f78497df4e 51 }
Rufaida 0:81f78497df4e 52 void bottom_call_button () {
Rufaida 0:81f78497df4e 53 new_event(ev_Bottom_Call_Button);
Rufaida 0:81f78497df4e 54 call_to_bottom=1;
Rufaida 0:81f78497df4e 55 }
Rufaida 0:81f78497df4e 56 void go_top_button () {
Rufaida 0:81f78497df4e 57 new_event(ev_Go_To_Top_Button);
Rufaida 0:81f78497df4e 58 }
Rufaida 0:81f78497df4e 59 void go_bottom_button () {
Rufaida 0:81f78497df4e 60 new_event(ev_Go_To_Bottom_Button);
Rufaida 0:81f78497df4e 61 }
Rufaida 0:81f78497df4e 62 void safety () {
Rufaida 0:81f78497df4e 63 new_event(ev_Safety);
Rufaida 0:81f78497df4e 64 }
Rufaida 0:81f78497df4e 65
Rufaida 0:81f78497df4e 66 //pin detect function for the buttons (events)
Rufaida 0:81f78497df4e 67 void initialise_events(void) {
Rufaida 0:81f78497df4e 68
Rufaida 0:81f78497df4e 69 Top_Button.mode(PullUp);
Rufaida 0:81f78497df4e 70 Top_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 71 Top_Button.attach_asserted(&top_button);
Rufaida 0:81f78497df4e 72 Top_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 73
Rufaida 0:81f78497df4e 74 Near_Top_Button.mode(PullUp);
Rufaida 0:81f78497df4e 75 Near_Top_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 76 Near_Top_Button.attach_asserted(&near_top_button);
Rufaida 0:81f78497df4e 77 Near_Top_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 78
Rufaida 0:81f78497df4e 79 Near_Bottom_Button.mode(PullUp);
Rufaida 0:81f78497df4e 80 Near_Bottom_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 81 Near_Bottom_Button.attach_asserted(&near_bottom_button);
Rufaida 0:81f78497df4e 82 Near_Bottom_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 83
Rufaida 0:81f78497df4e 84 Bottom_Button.mode(PullUp);
Rufaida 0:81f78497df4e 85 Bottom_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 86 Bottom_Button.attach_asserted(&bottom_button);
Rufaida 0:81f78497df4e 87 Bottom_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 88
Rufaida 0:81f78497df4e 89 Top_Call_Button.mode(PullUp);
Rufaida 0:81f78497df4e 90 Top_Call_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 91 Top_Call_Button.attach_asserted(&top_call_button);
Rufaida 0:81f78497df4e 92 Top_Call_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 93
Rufaida 0:81f78497df4e 94 Bottom_Call_Button.mode(PullUp);
Rufaida 0:81f78497df4e 95 Bottom_Call_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 96 Bottom_Call_Button.attach_asserted(&bottom_call_button);
Rufaida 0:81f78497df4e 97 Bottom_Call_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 98
Rufaida 0:81f78497df4e 99 Go_Top_Button.mode(PullUp);
Rufaida 0:81f78497df4e 100 Go_Top_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 101 Go_Top_Button.attach_asserted(&go_top_button);
Rufaida 0:81f78497df4e 102 Go_Top_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 103
Rufaida 0:81f78497df4e 104 Go_Bottom_Button.mode(PullUp);
Rufaida 0:81f78497df4e 105 Go_Bottom_Button.setAssertValue( 0 );
Rufaida 0:81f78497df4e 106 Go_Bottom_Button.attach_asserted(&go_bottom_button);
Rufaida 0:81f78497df4e 107 Go_Bottom_Button.setSampleFrequency();
Rufaida 0:81f78497df4e 108
Rufaida 0:81f78497df4e 109 Safety.mode(PullUp);
Rufaida 0:81f78497df4e 110 Safety.setAssertValue( 0 );
Rufaida 0:81f78497df4e 111 Safety.attach_asserted(&safety);
Rufaida 0:81f78497df4e 112 Safety.setSampleFrequency();
Rufaida 0:81f78497df4e 113 }