123123123123123123123123123

Dependencies:   mbed

Committer:
TonyYI
Date:
Thu Jul 03 14:52:44 2014 +0000
Revision:
3:4306d042af6f
Parent:
2:442902ec3aa1
123123

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TonyYI 0:3417ca0a36c0 1 /******************************************************
TonyYI 0:3417ca0a36c0 2
TonyYI 0:3417ca0a36c0 3 ****┏┓ ┏┓
TonyYI 0:3417ca0a36c0 4 **┏┛┻━━━━━━┛┻┓
TonyYI 0:3417ca0a36c0 5 **┃ ┃
TonyYI 0:3417ca0a36c0 6 **┃ ━━━ ┃
TonyYI 0:3417ca0a36c0 7 **┃ ┳┛ ┗┳ ┃
TonyYI 0:3417ca0a36c0 8 **┃ ┃
TonyYI 0:3417ca0a36c0 9 **┃ ''' ┻ ''' ┃
TonyYI 0:3417ca0a36c0 10 **┃ ┃
TonyYI 0:3417ca0a36c0 11 **┗━━┓ ┏━━┛
TonyYI 0:3417ca0a36c0 12 *******┃ ┃
TonyYI 0:3417ca0a36c0 13 *******┃ ┃
TonyYI 0:3417ca0a36c0 14 *******┃ ┃
TonyYI 0:3417ca0a36c0 15 *******┃ ┗━━━━━━━━┓
TonyYI 0:3417ca0a36c0 16 *******┃ ┃━┓
TonyYI 0:3417ca0a36c0 17 *******┃ NO BUG ┏━┛
TonyYI 0:3417ca0a36c0 18 *******┃ ┃
TonyYI 0:3417ca0a36c0 19 *******┗━┓ ┓ ┏━┏━┓ ━┛
TonyYI 0:3417ca0a36c0 20 ***********┃ ┛ ┛ ┃ ┛ ┛
TonyYI 0:3417ca0a36c0 21 ***********┃ ┃ ┃ ┃ ┃ ┃
TonyYI 0:3417ca0a36c0 22 ***********┗━┛━┛ ┗━┛━┛
TonyYI 0:3417ca0a36c0 23
TonyYI 0:3417ca0a36c0 24 This part is added by project ESDC2014 of CUHK team.
TonyYI 0:3417ca0a36c0 25 All the code with this header are under GPL open source license.
TonyYI 0:3417ca0a36c0 26 This program is running on Mbed Platform 'mbed LPC1768' avaliable in 'http://mbed.org'.
TonyYI 0:3417ca0a36c0 27 **********************************************************/
TonyYI 0:3417ca0a36c0 28
TonyYI 0:3417ca0a36c0 29 #include "buzzer.h"
TonyYI 0:3417ca0a36c0 30
terryLAI 2:442902ec3aa1 31 extern "C" void mbed_reset();
terryLAI 2:442902ec3aa1 32
TonyYI 0:3417ca0a36c0 33 Buzzer::Buzzer(MyDigitalOut* buzzer)
TonyYI 0:3417ca0a36c0 34 {
TonyYI 0:3417ca0a36c0 35 this->_buzzer = buzzer;
terryLAI 1:cbec1283a16a 36 ON();
terryLAI 1:cbec1283a16a 37 wait(0.1);
terryLAI 1:cbec1283a16a 38 OFF();
terryLAI 1:cbec1283a16a 39 wait(0.1);
terryLAI 1:cbec1283a16a 40 ON();
terryLAI 1:cbec1283a16a 41 wait(0.1);
terryLAI 1:cbec1283a16a 42 OFF();
terryLAI 1:cbec1283a16a 43 wait(0.1);
terryLAI 1:cbec1283a16a 44 ON();
terryLAI 1:cbec1283a16a 45 wait(0.2);
terryLAI 1:cbec1283a16a 46 OFF();
TonyYI 0:3417ca0a36c0 47 }
TonyYI 0:3417ca0a36c0 48
TonyYI 0:3417ca0a36c0 49 Buzzer::~Buzzer(){}
TonyYI 0:3417ca0a36c0 50
terryLAI 1:cbec1283a16a 51 void Buzzer::ON()
TonyYI 0:3417ca0a36c0 52 {
TonyYI 0:3417ca0a36c0 53 *_buzzer = 0;
TonyYI 0:3417ca0a36c0 54 }
TonyYI 0:3417ca0a36c0 55
terryLAI 1:cbec1283a16a 56 void Buzzer::OFF()
TonyYI 0:3417ca0a36c0 57 {
TonyYI 0:3417ca0a36c0 58 *_buzzer = 1;
terryLAI 1:cbec1283a16a 59 }
terryLAI 1:cbec1283a16a 60
terryLAI 1:cbec1283a16a 61 void Buzzer::setFlag()
terryLAI 1:cbec1283a16a 62 {
terryLAI 1:cbec1283a16a 63 flag=1;
terryLAI 1:cbec1283a16a 64 }
terryLAI 1:cbec1283a16a 65
terryLAI 1:cbec1283a16a 66 void Buzzer::cleanFlag()
terryLAI 1:cbec1283a16a 67 {
terryLAI 1:cbec1283a16a 68 flag=0;
terryLAI 1:cbec1283a16a 69 }
terryLAI 1:cbec1283a16a 70
terryLAI 1:cbec1283a16a 71 void Buzzer::check_time_out()
terryLAI 1:cbec1283a16a 72 {
terryLAI 1:cbec1283a16a 73 if(flag == 1)
terryLAI 1:cbec1283a16a 74 {
terryLAI 1:cbec1283a16a 75 ON();
terryLAI 2:442902ec3aa1 76 wait(5);
terryLAI 2:442902ec3aa1 77 mbed_reset();
terryLAI 1:cbec1283a16a 78 }
terryLAI 1:cbec1283a16a 79 else
terryLAI 1:cbec1283a16a 80 {
terryLAI 1:cbec1283a16a 81 OFF();
terryLAI 1:cbec1283a16a 82 }
terryLAI 1:cbec1283a16a 83 }
terryLAI 1:cbec1283a16a 84
terryLAI 1:cbec1283a16a 85 void Buzzer::time_out_init()
terryLAI 1:cbec1283a16a 86 {
terryLAI 1:cbec1283a16a 87 setFlag();
terryLAI 1:cbec1283a16a 88 time_out.detach();
terryLAI 1:cbec1283a16a 89 time_out.attach(this, &Buzzer::check_time_out, TIME_OUT);
terryLAI 1:cbec1283a16a 90 }