PURS ZI 009

Files at this revision

API Documentation at this revision

Comitter:
tbjazic
Date:
Wed Sep 07 15:46:01 2016 +0000
Commit message:
initial

Changed in this revision

Beepaj.cpp Show annotated file Show diff for this revision Revisions of this file
Beepaj.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 1843b5f93694 Beepaj.cpp
--- /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
diff -r 000000000000 -r 1843b5f93694 Beepaj.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Beepaj.h	Wed Sep 07 15:46:01 2016 +0000
@@ -0,0 +1,21 @@
+#ifndef BEEPAJ_H
+#define BEEPAJ_H
+
+#include "mbed.h"
+
+class Beepaj {
+    public:
+        Beepaj(PinName pinTipkala, PinName pinZvucnika);
+    private:
+        InterruptIn pokreni;
+        PwmOut zvucnik;
+        Timer debounce;
+        Timeout vrijemeBeepa, vrijemeSignala;
+        Ticker ticker;
+        void ukljuciBeep();
+        void iskljuciBeep();
+        void generirajSignal();
+        void iskljuciSignal();
+};
+
+#endif
\ No newline at end of file