PURS ZI 009

Beepaj.cpp

Committer:
tbjazic
Date:
2016-09-07
Revision:
0:1843b5f93694

File content as of revision 0:1843b5f93694:

#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();
}