-
Notifications
You must be signed in to change notification settings - Fork 0
/
HeartBeat.cpp
61 lines (56 loc) · 1.74 KB
/
HeartBeat.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
59
60
61
/*
||
|| @file HeartBeat.cpp
|| @version 1.0
|| @author Michael Zimmermann
|| @contact [email protected]
||
|| @description
|| | this provides a Heartbeat on pin 6 (default), so you can tell the software is running.
|| | Put an LED (with resistor) on the following pin:
|| | 6: Heartbeat - shows the program is running
|| #
||
|| @license
|| | Copyright (c) 2018 Michael Zimmermann <http://www.kruemelsoft.privat.t-online.de>
|| | All rights reserved.
|| |
|| | This program is free software: you can redistribute it and/or modify
|| | it under the terms of the GNU General Public License as published by
|| | the Free Software Foundation, either version 3 of the License, or
|| | (at your option) any later version.
|| |
|| | This program is distributed in the hope that it will be useful,
|| | but WITHOUT ANY WARRANTY; without even the implied warranty of
|| | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|| | GNU General Public License for more details.
|| |
|| | You should have received a copy of the GNU General Public License
|| | along with this program. If not, see <http://www.gnu.org/licenses/>.
|| #
||
*/
#include "HeartBeat.h"
HeartBeat::HeartBeat(uint8_t ledPin)
: ui8_pinLed(ledPin)
, ui8_hbval(128)
, i8_delta(8)
, ul_previousMillis(0)
{
pinMode(ui8_pinLed, OUTPUT);
ul_previousMillis = millis();
}
void HeartBeat::beat()
{
if((millis() - ul_previousMillis) > 20)
{
ul_previousMillis = millis(); // keep actual timevalue
// change status:
if (ui8_hbval > 192)
i8_delta = -i8_delta;
if (ui8_hbval < 32)
i8_delta = -i8_delta;
ui8_hbval += i8_delta;
analogWrite(ui8_pinLed, ui8_hbval);
}
}