-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBlinkingFirefly.cpp
58 lines (48 loc) · 1.47 KB
/
BlinkingFirefly.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* BlinkingFirefly.cpp
*
* Created on: April 12, 2016
* Author: davy
*/
#include "FireflyLED.h"
#include "BlinkingFirefly.h"
/**************************************************************************/
/*!
Constructor
*/
/**************************************************************************/
BlinkingFirefly::BlinkingFirefly(uint8_t pin) {
init();
blinkMillis = 0;
setPin(pin);
setInterval(1000);
}
/*========================================================================*/
/* PUBLIC FUNCTIONS */
/*========================================================================*/
/**************************************************************************/
/*!
Sets the blinking on/off interval for the Firefly
*/
/**************************************************************************/
void BlinkingFirefly::setInterval(long interval) {
blinkInterval = interval;
}
/**************************************************************************/
/*!
Update function that controls the Firefly behavior
*/
/**************************************************************************/
void BlinkingFirefly::update(void) {
if (enabled) {
unsigned long currentMillis = millis();
if (currentMillis - blinkMillis > blinkInterval) {
blinkMillis = currentMillis;
if (blinkState == LOW)
blinkState = HIGH;
else
blinkState = LOW;
dWrite(blinkState);
}
}
}