From 68b87023960b04fc8720839344bf734f8ba9a73d Mon Sep 17 00:00:00 2001 From: eleksir Date: Sun, 2 Jun 2019 15:27:04 +0300 Subject: [PATCH] Bring changes from tag v1.4 --- simpleclock.ino | 45 +++++++++------------------------------------ 1 file changed, 9 insertions(+), 36 deletions(-) diff --git a/simpleclock.ino b/simpleclock.ino index eb1ecbe..88f2837 100644 --- a/simpleclock.ino +++ b/simpleclock.ino @@ -6,33 +6,6 @@ * 2 buttons for adjusting time. */ -/* This software distributed under BSD 2 Clause License - * - * Copyright (c) Sergei Fedosoff, All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * Redistributions of source code must retain the above copyright - * notice, this listof conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITYOF SUCH DAMAGE. - */ - /* DS1307 lib by FrankieChu for Seeed RTC module, in my case * Grove___RTC_DS1307-1.0.0.zip */ #include @@ -43,7 +16,7 @@ SevSeg Display; /* push button stuff */ const long initial_delay = 600; // wait a bit before spin numbers -const long adjust_interval = 200; // delay between consecutive number increnents +const long adjust_interval = 200; // delay between consecutive number increments const long bounce_delay = 20; // contact bounce compensation const int hrs_btn = A0; // put hour adjusting button on A0 lane const int min_btn = A1; // put minute adjusting button on A1 lane @@ -60,7 +33,7 @@ const long interval = 500; bool dot = true; /* time inaccuracy compensation flag */ -uint8_t compflag = 0; +bool compflag = true; void setup() { @@ -77,7 +50,7 @@ void setup() bool leadingZeros = false; Display.begin(hardwareConfig, numDigits, digitPins, segmentPins, - resistorsOnSegments, updateWithDelays, leadingZeros); + resistorsOnSegments, updateWithDelays, leadingZeros); Display.setBrightness(100); // setup clock @@ -109,7 +82,7 @@ void loop() // push button magic if ((!btn_pushed) and - ((digitalRead(hrs_btn) == LOW) or (digitalRead(min_btn) == LOW))) { + ((digitalRead(hrs_btn) == LOW) or (digitalRead(min_btn) == LOW))) { if (currentPushTimer - previousPushTimer >= initial_delay) { previousPushTimer = currentPushTimer; btn_pushed = true; @@ -117,7 +90,7 @@ void loop() } if (btn_pushed and - (digitalRead(hrs_btn) != LOW) and (digitalRead(min_btn) != LOW)) { + (digitalRead(hrs_btn) != LOW) and (digitalRead(min_btn) != LOW)) { // compensate possible contact bounce with delay if (currentPushTimer - previousPushTimer >= bounce_delay) { btn_pushed = false; @@ -161,15 +134,15 @@ void loop() */ if ((clock.hour == 21) and (clock.minute == 21) and - (clock.second == 21) and (compflag == 0)) { + (clock.second == 21) and (compflag)) { clock.fillByHMS(clock.hour, clock.minute, 14); clock.setTime(); - compflag = 1; + compflag = false; } if ((clock.hour == 21) and (clock.minute == 21) and - (clock.second == 23) and (compflag == 1)) { - compflag = 0; + (clock.second == 23) and (!compflag)) { + compflag = true; } // make blinking dot