a

Dependents:   3servotest 1stcomp 3rdcompfixstart 2ndcomp ... more

Fork of button by Tk A

Committer:
choutin
Date:
Sat Sep 17 23:21:13 2016 +0000
Revision:
4:4202cede988e
Parent:
3:cdeb282335a6
?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
choutin 2:bd8ad2528693 1
sakanakuuun 0:8981bbe3e60e 2 #include "button.h"
sakanakuuun 0:8981bbe3e60e 3
sakanakuuun 0:8981bbe3e60e 4 DigitalIn start_button(USER_BUTTON);
choutin 3:cdeb282335a6 5 DigitalIn makihara_button(PD_2);
sakanakuuun 0:8981bbe3e60e 6 DigitalOut beep(PB_10);
sakanakuuun 0:8981bbe3e60e 7
sakanakuuun 0:8981bbe3e60e 8 DigitalIn phase1(PA_5);
sakanakuuun 0:8981bbe3e60e 9 DigitalIn phase2(PA_6);
sakanakuuun 0:8981bbe3e60e 10 DigitalIn phase4(PA_7);
sakanakuuun 0:8981bbe3e60e 11 DigitalIn phase8(PB_12);
sakanakuuun 0:8981bbe3e60e 12
sakanakuuun 0:8981bbe3e60e 13 DigitalIn teamSW(PC_11);
sakanakuuun 0:8981bbe3e60e 14 DigitalOut teamledblue(PC_10);
sakanakuuun 0:8981bbe3e60e 15 DigitalOut teamledred(PC_12);
sakanakuuun 0:8981bbe3e60e 16
choutin 1:e7afd09cde6f 17
sakanakuuun 0:8981bbe3e60e 18
sakanakuuun 0:8981bbe3e60e 19 int phaseSW(void){
sakanakuuun 0:8981bbe3e60e 20 phase1.mode(PullUp);
sakanakuuun 0:8981bbe3e60e 21 phase2.mode(PullUp);
sakanakuuun 0:8981bbe3e60e 22 phase4.mode(PullUp);
sakanakuuun 0:8981bbe3e60e 23 phase8.mode(PullUp);
sakanakuuun 0:8981bbe3e60e 24
sakanakuuun 0:8981bbe3e60e 25 int SW=phase1+2*phase2+4*phase4+8*phase8;
choutin 4:4202cede988e 26
sakanakuuun 0:8981bbe3e60e 27 return SW;
sakanakuuun 0:8981bbe3e60e 28 }
sakanakuuun 0:8981bbe3e60e 29
sakanakuuun 0:8981bbe3e60e 30
sakanakuuun 0:8981bbe3e60e 31 int teamLED()
sakanakuuun 0:8981bbe3e60e 32 {
sakanakuuun 0:8981bbe3e60e 33 teamSW.mode(PullUp);
sakanakuuun 0:8981bbe3e60e 34 if(teamSW) {
sakanakuuun 0:8981bbe3e60e 35 teamledblue=1;
sakanakuuun 0:8981bbe3e60e 36 teamledred=0;
sakanakuuun 0:8981bbe3e60e 37 return -1;
sakanakuuun 0:8981bbe3e60e 38 } else {
sakanakuuun 0:8981bbe3e60e 39 teamledblue=0;
sakanakuuun 0:8981bbe3e60e 40 teamledred=1;
sakanakuuun 0:8981bbe3e60e 41 return 1;
sakanakuuun 0:8981bbe3e60e 42 }
sakanakuuun 0:8981bbe3e60e 43 }
sakanakuuun 0:8981bbe3e60e 44
sakanakuuun 0:8981bbe3e60e 45 void buzzer(bool on)
sakanakuuun 0:8981bbe3e60e 46 {
sakanakuuun 0:8981bbe3e60e 47 if(on)
sakanakuuun 0:8981bbe3e60e 48 beep = 1;
sakanakuuun 0:8981bbe3e60e 49 else
sakanakuuun 0:8981bbe3e60e 50 beep = 0;
sakanakuuun 0:8981bbe3e60e 51 }
sakanakuuun 0:8981bbe3e60e 52
sakanakuuun 0:8981bbe3e60e 53 bool start()
sakanakuuun 0:8981bbe3e60e 54 {
sakanakuuun 0:8981bbe3e60e 55 if(start_button)
sakanakuuun 0:8981bbe3e60e 56 return true;
sakanakuuun 0:8981bbe3e60e 57 else
sakanakuuun 0:8981bbe3e60e 58 return false;
choutin 3:cdeb282335a6 59 }
choutin 3:cdeb282335a6 60
choutin 3:cdeb282335a6 61 void commandIn(int command[3])
choutin 3:cdeb282335a6 62 {
choutin 3:cdeb282335a6 63
choutin 3:cdeb282335a6 64 makihara_button.mode(PullUp);
choutin 3:cdeb282335a6 65 while(!makihara_button);
choutin 3:cdeb282335a6 66 for(int i=0; i < 3; ++i) {
choutin 3:cdeb282335a6 67 while(makihara_button);
choutin 3:cdeb282335a6 68 wait_ms(10);
choutin 3:cdeb282335a6 69 buzzer(1);
choutin 3:cdeb282335a6 70 while(!makihara_button);
choutin 3:cdeb282335a6 71 wait_ms(10);
choutin 3:cdeb282335a6 72 buzzer(0);
choutin 3:cdeb282335a6 73 command[i] = get_phase();
choutin 3:cdeb282335a6 74 // (*colors[i])(1);
choutin 3:cdeb282335a6 75 }
choutin 3:cdeb282335a6 76 }
choutin 3:cdeb282335a6 77
choutin 3:cdeb282335a6 78 void initbutton()
choutin 3:cdeb282335a6 79 {
choutin 3:cdeb282335a6 80 makihara_button.mode(PullUp);
choutin 3:cdeb282335a6 81 phase1.mode(PullUp);
choutin 3:cdeb282335a6 82 phase2.mode(PullUp);
choutin 3:cdeb282335a6 83 phase4.mode(PullUp);
choutin 3:cdeb282335a6 84 phase8.mode(PullUp);
choutin 3:cdeb282335a6 85 }
choutin 3:cdeb282335a6 86
choutin 3:cdeb282335a6 87
choutin 3:cdeb282335a6 88 int get_phase()
choutin 3:cdeb282335a6 89 {
choutin 3:cdeb282335a6 90 return phase1 + phase2*2 + phase4*4 + phase8*8;
sakanakuuun 0:8981bbe3e60e 91 }