PURS ZI 009
Diff: Beepaj.cpp
- Revision:
- 0:1843b5f93694
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Beepaj.cpp Wed Sep 07 15:46:01 2016 +0000 @@ -0,0 +1,32 @@ +#include "mbed.h" +#include "Beepaj.h" + +Beepaj::Beepaj(PinName pinTipkala, PinName pinZvucnika) : pokreni(pinTipkala), zvucnik(pinZvucnika) { + pokreni.rise(this, &Beepaj::generirajSignal); + debounce.start(); + zvucnik = 0; + zvucnik.period(1.0f/1e3); +} + +void Beepaj::generirajSignal() { + if (debounce.read_ms() > 20) { + ukljuciBeep(); + ticker.attach(this, &Beepaj::ukljuciBeep, 1); + vrijemeSignala.attach(this, &Beepaj::iskljuciSignal, 4.5); + debounce.reset(); + } +} + +void Beepaj::ukljuciBeep() { + zvucnik = 0.5; + vrijemeBeepa.attach(this, &Beepaj::iskljuciBeep, 0.5); +} + +void Beepaj::iskljuciBeep() { + zvucnik = 0; +} + +void Beepaj::iskljuciSignal() { + zvucnik = 0; + ticker.detach(); +} \ No newline at end of file