diff --git a/include/Const.h b/include/Const.h index 3ba22bdf..0ce78146 100644 --- a/include/Const.h +++ b/include/Const.h @@ -41,7 +41,7 @@ enum TimerTask_t { WIFI_SCAN, TIME, TIME_SYNC, UPTIME, - UDPP, + UDP, //UDPP TIMES, PTASK }; diff --git a/include/classes/IoTRTC.h b/include/classes/IoTRTC.h new file mode 100644 index 00000000..bed063dc --- /dev/null +++ b/include/classes/IoTRTC.h @@ -0,0 +1,21 @@ +#pragma once +#include +#include + +class iarduino_RTC_NTP: public iarduino_RTC_BASE { + public: + iarduino_RTC_NTP(); + void begin(void); + uint8_t funcReadTimeIndex(uint8_t i); + void funcWriteTimeIndex(uint8_t i, uint8_t j); + uint8_t funcConvertNumToCode (uint8_t i) {return ((i/10) << 4) + (i%10);} +}; + +class IoTRTC : public iarduino_RTC { + public: + IoTRTC(uint8_t i, uint8_t j=SS, uint8_t k=SCK, uint8_t n=MOSI) : iarduino_RTC(i, j, k, n) { + if (i == 0) objClass = new iarduino_RTC_NTP(); + }; + + ~IoTRTC(); +}; \ No newline at end of file diff --git a/src/DeviceList.cpp b/src/DeviceList.cpp index c22234e8..2788afb7 100644 --- a/src/DeviceList.cpp +++ b/src/DeviceList.cpp @@ -54,7 +54,7 @@ void asyncUdpInit() { //будем отправлять каждые 30 секунд презентацию данного устройства ts.add( - UDPP, 60000, [&](void*) { + UDP, 60000, [&](void*) { //UDPP if (isNetworkActive()) { SerialPrint("i", F("UDP"), F("Broadcast device presentation")); asyncUdp.broadcastTo(getThisDevice().c_str(), 4210); diff --git a/src/classes/IoTRTC.cpp b/src/classes/IoTRTC.cpp new file mode 100644 index 00000000..638f8d20 --- /dev/null +++ b/src/classes/IoTRTC.cpp @@ -0,0 +1,42 @@ +#include "classes/IoTRTC.h" + +IoTRTC::~IoTRTC() { + +} + + +iarduino_RTC_NTP::iarduino_RTC_NTP() { + +} + +void iarduino_RTC_NTP::begin(void) { + +} + +uint8_t iarduino_RTC_NTP::funcReadTimeIndex(uint8_t i) { + static tm localTimeVar; + if (i == 0) { + Serial.println(F("Read time from system.")); + time_t timeNowVar; + time(&timeNowVar); + localTimeVar = *localtime(&timeNowVar); + } + + switch (i) + { + case 0: return funcConvertNumToCode(localTimeVar.tm_sec); + case 1: return funcConvertNumToCode(localTimeVar.tm_min); + case 2: return funcConvertNumToCode(localTimeVar.tm_hour); + case 3: return funcConvertNumToCode(localTimeVar.tm_mday); + case 4: return funcConvertNumToCode(localTimeVar.tm_mon+1); + case 5: return funcConvertNumToCode(localTimeVar.tm_year); + case 6: return funcConvertNumToCode(localTimeVar.tm_wday); + } + + return 0; +} + +void iarduino_RTC_NTP::funcWriteTimeIndex(uint8_t i, uint8_t j) { + +} +