PURS ZI 009

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