code refactor
This commit is contained in:
@@ -16,3 +16,4 @@ lib_deps =
|
|||||||
fbiego/ESP32Time@^2.0.4
|
fbiego/ESP32Time@^2.0.4
|
||||||
neironx/RTCLib@^1.6.0
|
neironx/RTCLib@^1.6.0
|
||||||
arduino-libraries/NTPClient@^3.2.1
|
arduino-libraries/NTPClient@^3.2.1
|
||||||
|
paulstoffregen/Time@^1.6.1
|
||||||
|
|||||||
80
FW/NCM107-ESP32C3/src/clock.cpp
Normal file
80
FW/NCM107-ESP32C3/src/clock.cpp
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
#include "clock.h"
|
||||||
|
|
||||||
|
int RTC_hours, RTC_minutes, RTC_seconds, RTC_day, RTC_month, RTC_year, RTC_day_of_week;
|
||||||
|
bool RTC_present;
|
||||||
|
|
||||||
|
const char *ssid = "iot";
|
||||||
|
const char *password = "Rijnstraat214";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void getRTCTime()
|
||||||
|
{
|
||||||
|
// RTC_seconds = timeClient.getSeconds();
|
||||||
|
// RTC_minutes = timeClient.getMinutes();
|
||||||
|
// RTC_hours = timeClient.getHours();
|
||||||
|
// RTC_day_of_week = 1
|
||||||
|
// RTC_day = timeClient.getDay();
|
||||||
|
// RTC_month = timeClient.
|
||||||
|
// RTC_year =
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
WiFi.begin(ssid, password);
|
||||||
|
while ( WiFi.status() != WL_CONNECTED ) {
|
||||||
|
delay ( 500 );
|
||||||
|
Serial.print ( "." );
|
||||||
|
}
|
||||||
|
//setup NTP
|
||||||
|
timeClient.begin();
|
||||||
|
|
||||||
|
|
||||||
|
getRTCTime();
|
||||||
|
byte prevSeconds=RTC_seconds;
|
||||||
|
unsigned long RTC_ReadingStartTime=millis();
|
||||||
|
RTC_present=true;
|
||||||
|
while(prevSeconds==RTC_seconds)
|
||||||
|
{
|
||||||
|
getRTCTime();
|
||||||
|
//Serial.println(RTC_seconds);
|
||||||
|
if ((millis()-RTC_ReadingStartTime)>3000)
|
||||||
|
{
|
||||||
|
Serial.println(F("Warning! RTC DON'T RESPOND!"));
|
||||||
|
RTC_present=false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setTime(RTC_hours, RTC_minutes, RTC_seconds, RTC_day, RTC_month, RTC_year);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loopClock()
|
||||||
|
{
|
||||||
|
timeClient.update();
|
||||||
|
|
||||||
|
// if (((millis()%60000)==0)&&(RTC_present)) //synchronize with RTC every 10 seconds
|
||||||
|
// {
|
||||||
|
// getRTCTime();
|
||||||
|
// setTime(RTC_hours, RTC_minutes, RTC_seconds, RTC_day, RTC_month, RTC_year);
|
||||||
|
// Serial.println("sync:");
|
||||||
|
// Serial.println(RTC_seconds);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
String getTimeNow()
|
||||||
|
{
|
||||||
|
if (value[hModeValueIndex]==24) return PreZero(tijd.getHour())+PreZero(tijd.getMinute())+PreZero(tijd.getSecond());
|
||||||
|
else return PreZero(tijd.getHour())+PreZero(tijd.getMinute())+PreZero(tijd.getSecond());
|
||||||
|
}
|
||||||
|
|
||||||
|
String updateDateString()
|
||||||
|
{
|
||||||
|
static unsigned long lastTimeDateUpdate=millis();
|
||||||
|
static String DateString=PreZero(tijd.getDay())+PreZero(tijd.getMonth())+PreZero(tijd.getYear()%1000);
|
||||||
|
if ((millis()-lastTimeDateUpdate)>1000)
|
||||||
|
{
|
||||||
|
lastTimeDateUpdate=millis();
|
||||||
|
DateString=PreZero(tijd.getDay())+PreZero(tijd.getMonth())+PreZero(tijd.getYear()%1000);
|
||||||
|
}
|
||||||
|
return DateString;
|
||||||
|
}
|
||||||
12
FW/NCM107-ESP32C3/src/clock.h
Normal file
12
FW/NCM107-ESP32C3/src/clock.h
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <NTPClient.h>
|
||||||
|
#include <WiFi.h>
|
||||||
|
#include <WiFiUdp.h>
|
||||||
|
#include <ESP32Time.h>
|
||||||
|
|
||||||
|
void initClock();
|
||||||
|
void loopClock();
|
||||||
|
String getTimeNow();
|
||||||
|
String updateDateString();
|
||||||
@@ -1,10 +1,5 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <NTPClient.h>
|
#include "clock.h"
|
||||||
// change next line to use with another board/shield
|
|
||||||
#include <WiFi.h>
|
|
||||||
//#include <WiFi.h> // for WiFi shield
|
|
||||||
//#include <WiFi101.h> // for WiFi 101 shield or MKR1000
|
|
||||||
#include <WiFiUdp.h>
|
|
||||||
const String FirmwareVersion="010310";
|
const String FirmwareVersion="010310";
|
||||||
//Format _X.XX__
|
//Format _X.XX__
|
||||||
//NIXIE CLOCK MCU107 by GRA & AFCH (fominalec@gmail.com)
|
//NIXIE CLOCK MCU107 by GRA & AFCH (fominalec@gmail.com)
|
||||||
@@ -28,8 +23,9 @@
|
|||||||
//#include <TimeLib.h>
|
//#include <TimeLib.h>
|
||||||
//#include <Tone.h>
|
//#include <Tone.h>
|
||||||
// #include <EEPROM.h>
|
// #include <EEPROM.h>
|
||||||
#include <ESP32Time.h>
|
|
||||||
#include <RTClib.h>
|
#include <RTClib.h>
|
||||||
|
#include "JC_Button.h"
|
||||||
|
|
||||||
#define Anode0Pin 10
|
#define Anode0Pin 10
|
||||||
#define Anode1Pin 3
|
#define Anode1Pin 3
|
||||||
@@ -44,6 +40,10 @@
|
|||||||
#define Anode2ON digitalWrite(Anode2Pin,HIGH)
|
#define Anode2ON digitalWrite(Anode2Pin,HIGH)
|
||||||
#define Anode2OFF digitalWrite(Anode2Pin,LOW)
|
#define Anode2OFF digitalWrite(Anode2Pin,LOW)
|
||||||
|
|
||||||
|
#define mosiPin 5
|
||||||
|
#define misoPin 9
|
||||||
|
#define sckPin 6
|
||||||
|
|
||||||
String updateDateString();
|
String updateDateString();
|
||||||
String updateDisplayString();
|
String updateDisplayString();
|
||||||
void doDotBlink();
|
void doDotBlink();
|
||||||
@@ -54,8 +54,11 @@ byte decToBcd(byte val);
|
|||||||
String antiPoisoning2(String fromStr, String toStr);
|
String antiPoisoning2(String fromStr, String toStr);
|
||||||
String getTimeNow();
|
String getTimeNow();
|
||||||
String antiPoisoning2(String fromStr, String toStr);
|
String antiPoisoning2(String fromStr, String toStr);
|
||||||
|
void doTest();
|
||||||
|
// void getRTCTime();
|
||||||
|
void modesChanger();
|
||||||
|
void doIndication();
|
||||||
|
|
||||||
//char* parseSong(char *p);
|
|
||||||
|
|
||||||
const byte LEpin= 7; //pin Latch Enabled data accepted while HI level
|
const byte LEpin= 7; //pin Latch Enabled data accepted while HI level
|
||||||
//const byte DHVpin=5; // off/on MAX1771 Driver Hight Voltage(DHV) 110-220V
|
//const byte DHVpin=5; // off/on MAX1771 Driver Hight Voltage(DHV) 110-220V
|
||||||
@@ -69,7 +72,6 @@ const byte pinDown=2;
|
|||||||
//const byte pinUpperDots=12; //HIGH value light a dots
|
//const byte pinUpperDots=12; //HIGH value light a dots
|
||||||
//const byte pinLowerDots=4; //HIGH value light a dots
|
//const byte pinLowerDots=4; //HIGH value light a dots
|
||||||
const word fpsLimit=16666; // 1/60*1.000.000 //limit maximum refresh rate on 60 fps
|
const word fpsLimit=16666; // 1/60*1.000.000 //limit maximum refresh rate on 60 fps
|
||||||
bool RTC_present;
|
|
||||||
|
|
||||||
|
|
||||||
String stringToDisplay="000000";// Conten of this string will be displayed on tubes (must be 6 chars length)
|
String stringToDisplay="000000";// Conten of this string will be displayed on tubes (must be 6 chars length)
|
||||||
@@ -88,9 +90,7 @@ byte dotPattern=B00000000; //bit mask for separeting dots
|
|||||||
//B00000000 - turn off up and down dots
|
//B00000000 - turn off up and down dots
|
||||||
//B1100000 - turn off all dots
|
//B1100000 - turn off all dots
|
||||||
|
|
||||||
#define DS1307_ADDRESS 0x68
|
|
||||||
byte zero = 0x00; //workaround for issue #527
|
byte zero = 0x00; //workaround for issue #527
|
||||||
int RTC_hours, RTC_minutes, RTC_seconds, RTC_day, RTC_month, RTC_year, RTC_day_of_week;
|
|
||||||
|
|
||||||
//-- ------------0--------1--------2-------3--------4--------5--------6--------7--------8--------9--------10-------11-------12-------13-------14
|
//-- ------------0--------1--------2-------3--------4--------5--------6--------7--------8--------9--------10-------11-------12-------13-------14
|
||||||
// names: Time, Date, Alarm, 12/24 hours, mintues, seconds, day, month, year, hour, minute, second alarm01 hour_format
|
// names: Time, Date, Alarm, 12/24 hours, mintues, seconds, day, month, year, hour, minute, second alarm01 hour_format
|
||||||
@@ -152,170 +152,53 @@ byte LEDsGreenValueEEPROMAddress=9;
|
|||||||
byte LEDsBlueValueEEPROMAddress=10;
|
byte LEDsBlueValueEEPROMAddress=10;
|
||||||
|
|
||||||
//buttons pins declarations
|
//buttons pins declarations
|
||||||
//ClickButton setButton(pinSet, LOW, CLICKBTN_PULLUP);
|
Button setButton(pinSet, 20,true, true);
|
||||||
//ClickButton upButton(pinUp, LOW, CLICKBTN_PULLUP);
|
Button upButton(pinUp, 20,true, true);
|
||||||
//ClickButton downButton(pinDown, LOW, CLICKBTN_PULLUP);
|
Button downButton(pinDown, 20,true, true);
|
||||||
///////////////////
|
const unsigned long longClickTime(2000);
|
||||||
|
|
||||||
//Tone tone1;
|
|
||||||
#define isdigit(n) (n >= '0' && n <= '9')
|
|
||||||
//char *song = "MissionImp:d=16,o=6,b=95:32d,32d#,32d,32d#,32d,32d#,32d,32d#,32d,32d,32d#,32e,32f,32f#,32g,g,8p,g,8p,a#,p,c7,p,g,8p,g,8p,f,p,f#,p,g,8p,g,8p,a#,p,c7,p,g,8p,g,8p,f,p,f#,p,a#,g,2d,32p,a#,g,2c#,32p,a#,g,2c,a#5,8c,2p,32p,a#5,g5,2f#,32p,a#5,g5,2f,32p,a#5,g5,2e,d#,8d";
|
|
||||||
//char *song = "PinkPanther:d=4,o=5,b=160:8d#,8e,2p,8f#,8g,2p,8d#,8e,16p,8f#,8g,16p,8c6,8b,16p,8d#,8e,16p,8b,2a#,2p,16a,16g,16e,16d,2e";
|
|
||||||
//char *song="VanessaMae:d=4,o=6,b=70:32c7,32b,16c7,32g,32p,32g,32p,32d#,32p,32d#,32p,32c,32p,32c,32p,32c7,32b,16c7,32g#,32p,32g#,32p,32f,32p,16f,32c,32p,32c,32p,32c7,32b,16c7,32g,32p,32g,32p,32d#,32p,32d#,32p,32c,32p,32c,32p,32g,32f,32d#,32d,32c,32d,32d#,32c,32d#,32f,16g,8p,16d7,32c7,32d7,32a#,32d7,32a,32d7,32g,32d7,32d7,32p,32d7,32p,32d7,32p,16d7,32c7,32d7,32a#,32d7,32a,32d7,32g,32d7,32d7,32p,32d7,32p,32d7,32p,32g,32f,32d#,32d,32c,32d,32d#,32c,32d#,32f,16c";
|
|
||||||
//char *song="DasBoot:d=4,o=5,b=100:d#.4,8d4,8c4,8d4,8d#4,8g4,a#.4,8a4,8g4,8a4,8a#4,8d,2f.,p,f.4,8e4,8d4,8e4,8f4,8a4,c.,8b4,8a4,8b4,8c,8e,2g.,2p";
|
|
||||||
//char *song="Scatman:d=4,o=5,b=200:8b,16b,32p,8b,16b,32p,8b,2d6,16p,16c#.6,16p.,8d6,16p,16c#6,8b,16p,8f#,2p.,16c#6,8p,16d.6,16p.,16c#6,16b,8p,8f#,2p,32p,2d6,16p,16c#6,8p,16d.6,16p.,16c#6,16a.,16p.,8e,2p.,16c#6,8p,16d.6,16p.,16c#6,16b,8p,8b,16b,32p,8b,16b,32p,8b,2d6,16p,16c#.6,16p.,8d6,16p,16c#6,8b,16p,8f#,2p.,16c#6,8p,16d.6,16p.,16c#6,16b,8p,8f#,2p,32p,2d6,16p,16c#6,8p,16d.6,16p.,16c#6,16a.,16p.,8e,2p.,16c#6,8p,16d.6,16p.,16c#6,16a,8p,8e,2p,32p,16f#.6,16p.,16b.,16p.";
|
|
||||||
//char *song="Popcorn:d=4,o=5,b=160:8c6,8a#,8c6,8g,8d#,8g,c,8c6,8a#,8c6,8g,8d#,8g,c,8c6,8d6,8d#6,16c6,8d#6,16c6,8d#6,8d6,16a#,8d6,16a#,8d6,8c6,8a#,8g,8a#,c6";
|
|
||||||
//char *song="WeWishYou:d=4,o=5,b=200:d,g,8g,8a,8g,8f#,e,e,e,a,8a,8b,8a,8g,f#,d,d,b,8b,8c6,8b,8a,g,e,d,e,a,f#,2g,d,g,8g,8a,8g,8f#,e,e,e,a,8a,8b,8a,8g,f#,d,d,b,8b,8c6,8b,8a,g,e,d,e,a,f#,1g,d,g,g,g,2f#,f#,g,f#,e,2d,a,b,8a,8a,8g,8g,d6,d,d,e,a,f#,2g";
|
|
||||||
//#define OCTAVE_OFFSET 0
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
// int notes[] = { 0,
|
|
||||||
// NOTE_C4, NOTE_CS4, NOTE_D4, NOTE_DS4, NOTE_E4, NOTE_F4, NOTE_FS4, NOTE_G4, NOTE_GS4, NOTE_A4, NOTE_AS4, NOTE_B4,
|
|
||||||
// NOTE_C5, NOTE_CS5, NOTE_D5, NOTE_DS5, NOTE_E5, NOTE_F5, NOTE_FS5, NOTE_G5, NOTE_GS5, NOTE_A5, NOTE_AS5, NOTE_B5,
|
|
||||||
// NOTE_C6, NOTE_CS6, NOTE_D6, NOTE_DS6, NOTE_E6, NOTE_F6, NOTE_FS6, NOTE_G6, NOTE_GS6, NOTE_A6, NOTE_AS6, NOTE_B6,
|
|
||||||
// NOTE_C7, NOTE_CS7, NOTE_D7, NOTE_DS7, NOTE_E7, NOTE_F7, NOTE_FS7, NOTE_G7, NOTE_GS7, NOTE_A7, NOTE_AS7, NOTE_B7
|
|
||||||
// };
|
|
||||||
|
|
||||||
// int fireforks[]={0,0,1,//1
|
|
||||||
// -1,0,0,//2
|
|
||||||
// 0,1,0,//3
|
|
||||||
// 0,0,-1,//4
|
|
||||||
// 1,0,0,//5
|
|
||||||
// 0,-1,0}; //array with RGB rules (0 - do nothing, -1 - decrese, +1 - increse
|
|
||||||
|
|
||||||
void setRTCDateTime(byte h, byte m, byte s, byte d, byte mon, byte y, byte w=1);
|
|
||||||
|
|
||||||
int functionDownButton=0;
|
int functionDownButton=0;
|
||||||
int functionUpButton=0;
|
int functionUpButton=0;
|
||||||
bool LEDsLock=false;
|
bool LEDsLock=false;
|
||||||
|
|
||||||
//ESP32Time tijd(3600);
|
|
||||||
DS1307 rtc;
|
|
||||||
const char *ssid = "iot";
|
|
||||||
const char *password = "Rijnstraat214";
|
|
||||||
|
|
||||||
WiFiUDP ntpUDP;
|
|
||||||
NTPClient timeClient(ntpUDP);
|
|
||||||
|
|
||||||
void doTest();
|
|
||||||
void getRTCTime();
|
|
||||||
void modesChanger();
|
|
||||||
void doIndication();
|
|
||||||
|
|
||||||
void setTime(int RTC_hours, int RTC_minutes, int RTC_seconds, int RTC_day, int RTC_month, int RTC_year)
|
|
||||||
{
|
|
||||||
tijd.setTime(RTC_seconds,RTC_minutes,RTC_hours,RTC_day,RTC_month,RTC_year);
|
|
||||||
}
|
|
||||||
/*******************************************************************************************************
|
/*******************************************************************************************************
|
||||||
Init Programm
|
Init Programm
|
||||||
*******************************************************************************************************/
|
*******************************************************************************************************/
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
// digitalWrite(DHVpin, LOW); // off MAX1771 Driver Hight Voltage(DHV) 110-220V
|
|
||||||
|
|
||||||
Wire.begin();
|
// Wire.begin();
|
||||||
Wire.setPins(0,1);
|
// Wire.setPins(0,1);
|
||||||
rtc.begin();
|
|
||||||
//setRTCDateTime(23,40,00,25,7,15,1);
|
|
||||||
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
WiFi.begin(ssid, password);
|
|
||||||
|
|
||||||
while ( WiFi.status() != WL_CONNECTED ) {
|
|
||||||
delay ( 500 );
|
|
||||||
Serial.print ( "." );
|
|
||||||
}
|
|
||||||
timeClient.begin();
|
|
||||||
// if (!rtc.isrunning()) {
|
|
||||||
// Serial.println("RTC is NOT running!");
|
|
||||||
// // following line sets the RTC to the date & time this sketch was compiled
|
|
||||||
// rtc.adjust(DateTime(__DATE__, __TIME__));
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (EEPROM.read(HourFormatEEPROMAddress)!=12) value[hModeValueIndex]=24; else value[hModeValueIndex]=12;
|
|
||||||
// if (EEPROM.read(RGBLEDsEEPROMAddress)!=0) RGBLedsOn=true; else RGBLedsOn=false;
|
|
||||||
// if (EEPROM.read(AlarmTimeEEPROMAddress)==255) value[AlarmHourIndex]=0; else value[AlarmHourIndex]=EEPROM.read(AlarmTimeEEPROMAddress);
|
|
||||||
// if (EEPROM.read(AlarmTimeEEPROMAddress+1)==255) value[AlarmMinuteIndex]=0; else value[AlarmMinuteIndex]=EEPROM.read(AlarmTimeEEPROMAddress+1);
|
|
||||||
// if (EEPROM.read(AlarmTimeEEPROMAddress+2)==255) value[AlarmSecondIndex]=0; else value[AlarmSecondIndex]=EEPROM.read(AlarmTimeEEPROMAddress+2);
|
|
||||||
// if (EEPROM.read(AlarmArmedEEPROMAddress)==255) value[Alarm01]=0; else value[Alarm01]=EEPROM.read(AlarmArmedEEPROMAddress);
|
|
||||||
// if (EEPROM.read(LEDsLockEEPROMAddress)==255) LEDsLock=false; else LEDsLock=EEPROM.read(LEDsLockEEPROMAddress);
|
|
||||||
// Serial.print("led lock=");
|
|
||||||
// Serial.println(LEDsLock);
|
|
||||||
|
|
||||||
// pinMode(RedLedPin, OUTPUT);
|
|
||||||
// pinMode(GreenLedPin, OUTPUT);
|
|
||||||
// pinMode(BlueLedPin, OUTPUT);
|
|
||||||
|
|
||||||
// pinMode(pinUpperDots, OUTPUT);
|
|
||||||
// pinMode(pinLowerDots, OUTPUT);
|
|
||||||
|
|
||||||
//digitalWrite(pinUpperDots, HIGH);
|
|
||||||
//while(1);
|
|
||||||
|
|
||||||
// tone1.begin(pinBuzzer);
|
|
||||||
// song=parseSong(song);
|
|
||||||
|
|
||||||
pinMode(LEpin, OUTPUT);
|
pinMode(LEpin, OUTPUT);
|
||||||
//pinMode(DHVpin, OUTPUT);
|
|
||||||
|
|
||||||
// SPI setup
|
|
||||||
|
|
||||||
SPI.begin(5,9,6); //
|
// SPI setup
|
||||||
|
SPI.begin(mosiPin,misoPin,sckPin); //
|
||||||
SPI.setDataMode (SPI_MODE3); // Mode 3 SPI
|
SPI.setDataMode (SPI_MODE3); // Mode 3 SPI
|
||||||
SPI.setClockDivider(SPI_CLOCK_DIV128); // SCK = 16MHz/128= 125kHz
|
SPI.setClockDivider(SPI_CLOCK_DIV128); // SCK = 16MHz/128= 125kHz
|
||||||
|
|
||||||
pinMode(Anode0Pin, OUTPUT);
|
pinMode(Anode0Pin, OUTPUT);
|
||||||
pinMode(Anode1Pin, OUTPUT);
|
pinMode(Anode1Pin, OUTPUT);
|
||||||
pinMode(Anode2Pin, OUTPUT);
|
pinMode(Anode2Pin, OUTPUT);
|
||||||
//buttons pins inits
|
|
||||||
// pinMode(pinSet, INPUT_PULLUP);
|
|
||||||
// pinMode(pinUp, INPUT_PULLUP);
|
|
||||||
// pinMode(pinDown, INPUT_PULLUP);
|
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
//pinMode(pinBuzzer, OUTPUT);
|
//pinMode(pinBuzzer, OUTPUT);
|
||||||
|
|
||||||
//buttons objects inits
|
//buttons objects inits
|
||||||
// setButton.debounceTime = 20; // Debounce timer in ms
|
setButton.begin();
|
||||||
// setButton.multiclickTime = 30; // Time limit for multi clicks
|
upButton.begin();
|
||||||
// setButton.longClickTime = 2000; // time until "held-down clicks" register
|
downButton.begin();
|
||||||
|
|
||||||
// upButton.debounceTime = 20; // Debounce timer in ms
|
|
||||||
// upButton.multiclickTime = 30; // Time limit for multi clicks
|
|
||||||
// upButton.longClickTime = 2000; // time until "held-down clicks" register
|
|
||||||
|
|
||||||
// downButton.debounceTime = 20; // Debounce timer in ms
|
|
||||||
// downButton.multiclickTime = 30; // Time limit for multi clicks
|
|
||||||
// downButton.longClickTime = 2000; // time until "held-down clicks" register
|
|
||||||
|
|
||||||
//
|
//
|
||||||
//digitalWrite(DHVpin, HIGH); // on MAX1771 Driver Hight Voltage(DHV) 110-220V
|
|
||||||
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
doTest();
|
doTest();
|
||||||
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
// if (LEDsLock==1)
|
|
||||||
// {
|
initClock();
|
||||||
// setLEDsFromEEPROM();
|
|
||||||
// }
|
|
||||||
getRTCTime();
|
|
||||||
byte prevSeconds=RTC_seconds;
|
|
||||||
unsigned long RTC_ReadingStartTime=millis();
|
|
||||||
RTC_present=true;
|
|
||||||
while(prevSeconds==RTC_seconds)
|
|
||||||
{
|
|
||||||
getRTCTime();
|
|
||||||
//Serial.println(RTC_seconds);
|
|
||||||
if ((millis()-RTC_ReadingStartTime)>3000)
|
|
||||||
{
|
|
||||||
Serial.println(F("Warning! RTC DON'T RESPOND!"));
|
|
||||||
RTC_present=false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setTime(RTC_hours, RTC_minutes, RTC_seconds, RTC_day, RTC_month, RTC_year);
|
|
||||||
// digitalWrite(DHVpin, LOW); // off MAX1771 Driver Hight Voltage(DHV) 110-220V
|
|
||||||
//setRTCDateTime(RTC_hours,RTC_minutes,RTC_seconds,RTC_day,RTC_month,RTC_year,1); //записываем только что считанное время в RTC чтобы запустить новую микросхему
|
|
||||||
// digitalWrite(DHVpin, HIGH); // on MAX1771 Driver Hight Voltage(DHV) 110-220V
|
|
||||||
//p=song;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int rotator=0; //index in array with RGB "rules" (increse by one on each 255 cycles)
|
int rotator=0; //index in array with RGB "rules" (increse by one on each 255 cycles)
|
||||||
@@ -339,14 +222,9 @@ long modesChangePeriod=timeModePeriod;
|
|||||||
MAIN Programm
|
MAIN Programm
|
||||||
***************************************************************************************************************/
|
***************************************************************************************************************/
|
||||||
void loop() {
|
void loop() {
|
||||||
timeClient.update();
|
|
||||||
// if (((millis()%60000)==0)&&(RTC_present)) //synchronize with RTC every 10 seconds
|
loopClock();
|
||||||
// {
|
|
||||||
// getRTCTime();
|
|
||||||
// setTime(RTC_hours, RTC_minutes, RTC_seconds, RTC_day, RTC_month, RTC_year);
|
|
||||||
// Serial.println("sync:");
|
|
||||||
// Serial.println(RTC_seconds);
|
|
||||||
// }
|
|
||||||
|
|
||||||
//p=playmusic(p);
|
//p=playmusic(p);
|
||||||
|
|
||||||
@@ -762,25 +640,7 @@ byte bcdToDec(byte val) {
|
|||||||
return ( (val/16*10) + (val%16) );
|
return ( (val/16*10) + (val%16) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void getRTCTime()
|
|
||||||
{
|
|
||||||
DateTime now = timeClient.;
|
|
||||||
// char buf[20];
|
|
||||||
// Serial.println(tijd.tostr(buf));
|
|
||||||
// Wire.beginTransmission(DS1307_ADDRESS);
|
|
||||||
// Wire.write(zero);
|
|
||||||
// Wire.endTransmission();
|
|
||||||
|
|
||||||
// Wire.requestFrom(DS1307_ADDRESS, 7);
|
|
||||||
|
|
||||||
RTC_seconds = now.second();
|
|
||||||
RTC_minutes = now.minute();
|
|
||||||
RTC_hours = now.hour();
|
|
||||||
RTC_day_of_week = now.dayOfWeek();
|
|
||||||
RTC_day = now.day();
|
|
||||||
RTC_month = now.month();
|
|
||||||
RTC_year = now.year();
|
|
||||||
}
|
|
||||||
|
|
||||||
word doEditBlink(int pos)
|
word doEditBlink(int pos)
|
||||||
{
|
{
|
||||||
@@ -1147,24 +1007,4 @@ String updateDisplayString()
|
|||||||
return getTimeNow();
|
return getTimeNow();
|
||||||
}
|
}
|
||||||
return stringToDisplay;
|
return stringToDisplay;
|
||||||
}
|
|
||||||
|
|
||||||
String getTimeNow()
|
|
||||||
{
|
|
||||||
// DateTime time = rtc.now();
|
|
||||||
if (value[hModeValueIndex]==24) return PreZero(tijd.getHour())+PreZero(tijd.getMinute())+PreZero(tijd.getSecond());
|
|
||||||
else return PreZero(tijd.getHour())+PreZero(tijd.getMinute())+PreZero(tijd.getSecond());
|
|
||||||
}
|
|
||||||
|
|
||||||
String updateDateString()
|
|
||||||
{
|
|
||||||
// DateTime time = tijd.now();
|
|
||||||
static unsigned long lastTimeDateUpdate=millis();
|
|
||||||
static String DateString=PreZero(tijd.getDay())+PreZero(tijd.getMonth())+PreZero(tijd.getYear()%1000);
|
|
||||||
if ((millis()-lastTimeDateUpdate)>1000)
|
|
||||||
{
|
|
||||||
lastTimeDateUpdate=millis();
|
|
||||||
DateString=PreZero(tijd.getDay())+PreZero(tijd.getMonth())+PreZero(tijd.getYear()%1000);
|
|
||||||
}
|
|
||||||
return DateString;
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user