1

Fix visual bug on 0 o'clock

* fix visual bug on 0 o'clock
* move some variables to global scope
* remove float number - reduce binary size
This commit is contained in:
eleksir
2019-02-24 03:13:45 +03:00
parent 663093b32a
commit 3ec5b5fa6a

View File

@@ -39,16 +39,15 @@ OF SUCH DAMAGE.
DS1307 clock; DS1307 clock;
SevSeg Display; SevSeg Display;
bool dot = true;
float number;
unsigned long currentMillis; unsigned long currentMillis;
unsigned long previousMillis = 0; unsigned long previousMillis = 0;
const long interval = 500; const long interval = 500;
const int hrs_btn = A0; const int hrs_btn = A0;
const int min_btn = A1; const int min_btn = A1;
bool dot = true;
uint8_t minutes;
uint8_t hours;
void setup() void setup()
{ {
@@ -59,7 +58,9 @@ void setup()
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 13}; byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 13};
bool resistorsOnSegments = true; // 8 resistors, 330 Ohms each bool resistorsOnSegments = true; // 8 resistors, 330 Ohms each
bool updateWithDelays = false; // Default. Recommended bool updateWithDelays = false; // Default. Recommended
bool leadingZeros = false; /* without it there is visual bug at 0 o'clock, and in current version of
* SevSeg' setChars() does not dots at all */
bool leadingZeros = true;
Display.begin(hardwareConfig, numDigits, digitPins, segmentPins, Display.begin(hardwareConfig, numDigits, digitPins, segmentPins,
resistorsOnSegments, updateWithDelays, leadingZeros); resistorsOnSegments, updateWithDelays, leadingZeros);
@@ -88,8 +89,6 @@ void setup()
void loop() void loop()
{ {
unsigned long currentMillis = millis(); unsigned long currentMillis = millis();
uint8_t minutes;
uint8_t hours;
if (currentMillis - previousMillis >= interval) if (currentMillis - previousMillis >= interval)
{ {
@@ -127,12 +126,9 @@ void loop()
// make blinking dot // make blinking dot
if (dot == true) { if (dot == true) {
number = clock.hour * 100 + clock.minute; Display.setNumber((clock.hour * 100 + clock.minute), 2);
number = number / 100;
Display.setNumber(number, 2);
} else { } else {
number = clock.hour * 100 + clock.minute; Display.setNumber((clock.hour * 100 + clock.minute));
Display.setNumber(number);
} }
Display.refreshDisplay(); Display.refreshDisplay();