forked from thapsos/Serial_LCD
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Energy.cpp
63 lines (58 loc) · 1.63 KB
/
Energy.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
62
63
//
// 4D Systems μLCD-μLED-μVGA Serial_LCD Library Suite
// Arduino 0023 chipKIT MPIDE 0023 Wiring 1.0
// ----------------------------------
//
// Energy.cpp
// Library C++ code
// ----------------------------------
// Developed with embedXcode
//
// May 01, 2012 release 103
// See README.txt
//
// © Rei VILO, 2010-2012
// CC = BY NC SA
// http://embeddedcomputing.weebly.com/serial-lcd.html
// http://github.com/rei-vilo/Serial_LCD
//
// For
// 4D Systems Goldelox and Picaso SGC Command Set
// http://www.4dsystems.com.au/
//
//
// Core library
#if defined (__AVR_ATmega328P__) || defined (__AVR_ATmega2560__) // Arduino specific
#include "WProgram.h" // — for Arduino 0023
// #include "Arduino.h" // — for Arduino 1.0
#elif defined(__32MX320F128H__) || defined(__32MX795F512L__) // chipKIT specific
#include "WProgram.h"
#elif defined(__AVR_ATmega644P__) // Wiring specific
#include "Wiring.h"
#elif defined(__MSP430G2452__) || defined(__MSP430G2553__) || defined(__MSP430G2231__) // LaunchPad specific
#include "Energia.h"
#endif
// Library header
#include "Energy.h"
// Code
Energy::Energy() {
}
void Energy::begin(Serial_LCD * lcd0, uint32_t seconds) {
_pscreen = lcd0;
_ms = (uint32_t)seconds*1000;
_chrono = millis();
_state = true; // backlight on
}
void Energy::check(boolean &b) {
if ( b ) {
_chrono = millis();
if ( _state==false ) {
_state = true;
_pscreen->setBacklight(true);
b = 0;
}
} else if ( (_state==true) & (millis()>_chrono+_ms) ) {
_state = false;
_pscreen->setBacklight(false);
}
}