Learning classes.

Dependencies:   C12832

Dependents:   PURS_ZI_003

Files at this revision

API Documentation at this revision

Comitter:
tbjazic
Date:
Wed Feb 10 11:17:49 2016 +0000
Commit message:
Initial.

Changed in this revision

Bomba.cpp Show annotated file Show diff for this revision Revisions of this file
Bomba.h Show annotated file Show diff for this revision Revisions of this file
C12832.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 6a7df3c69564 Bomba.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Bomba.cpp	Wed Feb 10 11:17:49 2016 +0000
@@ -0,0 +1,42 @@
+#include "mbed.h"
+#include "C12832.h"
+#include "Bomba.h"
+
+Bomba::Bomba(PinName aktivirajPin) : aktiviraj(aktivirajPin), lcd(p5, p7, p6, p8, p11), buzz(p26) {
+    aktiviran = false;
+    aktiviraj.rise(this, &Bomba::aktivacija);
+    debounce.start();
+    buzz = 0;
+    buzz.period(1.0f/1e3);
+    x = 5;
+    lcd.cls();
+    lcd.locate(0,3);
+    lcd.printf("PURS_ZI_003\nAktiviraj bombu!");
+}
+
+void Bomba::aktivacija() {
+    if(debounce.read_ms() > 200) {
+        if (!aktiviran) {
+            detoniraj.attach(this, &Bomba::detonacija, x);
+            aktiviran = true;
+            lcd.cls();
+            lcd.locate(0,3);
+            lcd.printf("Bomba aktivirana");
+        } else {
+            detoniraj.detach();
+            buzz = 0;
+            aktiviran = false;
+            lcd.cls();
+            lcd.locate(0,3);
+            lcd.printf("Bomba deaktivirana");
+        }
+        debounce.reset();
+    }
+}
+
+void Bomba::detonacija() {
+    buzz = 0.5;
+    lcd.cls();
+    lcd.locate(0,3);
+    lcd.printf("Boom!!!");
+}
\ No newline at end of file
diff -r 000000000000 -r 6a7df3c69564 Bomba.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Bomba.h	Wed Feb 10 11:17:49 2016 +0000
@@ -0,0 +1,22 @@
+#ifndef BOMBA_H
+#define BOMBA_H
+
+#include "mbed.h"
+#include "C12832.h"
+
+class Bomba {
+    public:
+    Bomba(PinName aktivirajPin);
+    private:
+    InterruptIn aktiviraj;
+    C12832 lcd;
+    Timer debounce;
+    Timeout detoniraj;
+    void aktivacija();
+    void detonacija();
+    bool aktiviran;
+    PwmOut buzz;
+    float x;
+};
+
+#endif // BOMBA_H
\ No newline at end of file
diff -r 000000000000 -r 6a7df3c69564 C12832.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C12832.lib	Wed Feb 10 11:17:49 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/askksa12543/code/C12832/#990d5eec2ef6