PURS ZI 009

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Beepaj.cpp Source File

Beepaj.cpp

00001 #include "mbed.h"
00002 #include "Beepaj.h"
00003 
00004 Beepaj::Beepaj(PinName pinTipkala, PinName pinZvucnika) : pokreni(pinTipkala), zvucnik(pinZvucnika) {
00005     pokreni.rise(this, &Beepaj::generirajSignal);
00006     debounce.start();
00007     zvucnik = 0;
00008     zvucnik.period(1.0f/1e3);
00009 }
00010 
00011 void Beepaj::generirajSignal() {
00012     if (debounce.read_ms() > 20) {
00013         ukljuciBeep();
00014         ticker.attach(this, &Beepaj::ukljuciBeep, 1);
00015         vrijemeSignala.attach(this, &Beepaj::iskljuciSignal, 4.5);
00016         debounce.reset();
00017     }
00018 }
00019 
00020 void Beepaj::ukljuciBeep() {
00021     zvucnik = 0.5;
00022     vrijemeBeepa.attach(this, &Beepaj::iskljuciBeep, 0.5);
00023 }
00024 
00025 void Beepaj::iskljuciBeep() {
00026     zvucnik = 0;
00027 }
00028 
00029 void Beepaj::iskljuciSignal() {
00030     zvucnik = 0;
00031     ticker.detach();
00032 }