Tipkalo Linija
Diff: tipkalo.cpp
- Revision:
- 2:9085093855f0
- Parent:
- 1:fa666d2759a4
--- a/tipkalo.cpp Sun Jan 29 23:47:12 2017 +0000 +++ b/tipkalo.cpp Wed Feb 08 08:36:23 2017 +0000 @@ -1,33 +1,57 @@ -/** Klasa za dodavanje tipkala -* Status koliko puta je tipka pritisnuta +/** Projektiranje ugradbenih računalnih sustava +* Default metoda za dodavanje tipkala +* @author: mario_meh +* @code +* #include "mbed.h" +* #include "tipkalo.h" +* +* @endcode */ #include "mbed.h" #include "tipkalo.h" -Tipkalo::Tipkalo(PinName T) : _T(T), _countT(0) { - /** status je objekt koji bilježi ako je tipkalo u aktivnom stanju */ - t_status status = new t_status; - /** Na donji brid pozove funkciju tDolje(), koja vraća 1 - * i počne timer - */ - Tipkalo::status.pritisnut = TGORE; - _T.fall(this, &Tipkalo::tDolje); - /** Započni brojanje */ - Timer.debounce; - debounce.start(); +int timeAtPress; +bool pressed = false; + +Tipkalo::Tipkalo() : pbutton(PTA5), ledSec(PTE30) + +{ + t.start(); + pbutton.fall(this, &Tipkalo::blinkFall); + pbutton.rise(this, &Tipkalo::blinkRise); +} + +void Tipkalo::blinkFall() { + if(t.read_ms() > t_milisec_pritisnut) { + pressed = false; + ledSec = 0; + //ledSec != ledSec; + } t.reset(); + toggler.attach(this, &Tipkalo::togglerOff, 0.3); } -t_status Tipkalo::tDolje() { - - status.radim = TDOLJE; - _countT++; - status.pritisnut = _countT; - return TDOLJE; - +void Tipkalo::togglerOff() { + if(pressed == false) { + ledSec = 0; + //fallL = 0; + pressed = true; + t.reset(); + } } - - +void Tipkalo::blinkRise() { + if(t.read_ms() > t_milisec_pritisnut) { + pressed = true; + ledSec = 1; + //ledSec != ledSec; + } t.reset(); +} - - \ No newline at end of file +void Tipkalo::bStop() { + toggler.detach(); +} + +bool Tipkalo::LStatus() { + return pressed; +} + \ No newline at end of file