Last commit was wrong... now all versions aof Passkey are here... :)
This commit is contained in:
parent
9282cba259
commit
92d0aef82b
10 changed files with 407 additions and 0 deletions
44
Blinker/src/Blinker.cpp
Normal file
44
Blinker/src/Blinker.cpp
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
#include <Blinker.h>
|
||||
|
||||
Blinker::Blinker(int pin) {
|
||||
_blinkPin = pin;
|
||||
_highDelay = 500;
|
||||
_lowDelay = 500;
|
||||
_lastBlink = 0;
|
||||
_blinkState = false;
|
||||
_running = false;
|
||||
}
|
||||
|
||||
void Blinker::setDelay(uint32_t d) {
|
||||
_highDelay = d;
|
||||
_lowDelay = d;
|
||||
}
|
||||
|
||||
void Blinker::setDelay(uint32_t h, uint32_t l) {
|
||||
_highDelay = h;
|
||||
_lowDelay = l;
|
||||
}
|
||||
|
||||
void Blinker::blink() {
|
||||
uint32_t diff = millis() - _lastBlink;
|
||||
uint32_t blinkDelay = _blinkState ? _highDelay : _lowDelay;
|
||||
if (diff >= blinkDelay) {
|
||||
_lastBlink = millis() - (diff - blinkDelay); // Account for any delay in calling blink
|
||||
_blinkState = !_blinkState;
|
||||
if (_running) {
|
||||
digitalWrite(_blinkPin, _blinkState ? HIGH : LOW);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Blinker::start() {
|
||||
pinMode(_blinkPin, OUTPUT);
|
||||
_running = true;
|
||||
_lastBlink = millis();
|
||||
}
|
||||
|
||||
void Blinker::stop(bool idleState) {
|
||||
_running = false;
|
||||
_blinkState = idleState;
|
||||
digitalWrite(_blinkPin, _blinkState);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue