PURS ZI 008

Revision:
0:66329e66d1c9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sviraj.cpp	Wed Sep 07 07:53:54 2016 +0000
@@ -0,0 +1,27 @@
+#include "mbed.h"
+#include "Sviraj.h"
+
+Sviraj::Sviraj(PinName pinIzbora, PinName pinZvucnika) : izbor(pinIzbora), zvucnik(pinZvucnika) {
+    izbor.rise(this, &Sviraj::izborTona);
+    debounce.start();
+    zvucnik = 0;
+    odabraniTon = 4;
+    frekvencija = 1; // u kHz
+}
+
+void Sviraj::izborTona() {
+    if (debounce.read_ms() > 20) {
+        odabraniTon = ++odabraniTon % 5;
+        for (int i=0; i < odabraniTon; i++)
+            frekvencija *= 2;
+        zvucnik.period(1/(frekvencija*1000));
+        frekvencija = 1;
+        zvucnik = 0.5;
+        vrijemeTona.attach(this, &Sviraj::iskljuciZvucnik, 5);
+        debounce.reset();
+    }
+}
+
+void Sviraj::iskljuciZvucnik() {
+    zvucnik = 0;
+}
\ No newline at end of file