#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <EEPROM.h>
#include <iarduino_RTC.h>
iarduino_RTC _RTC1(RTC_DS1307);
LiquidCrystal_I2C _lcd1(0x3F, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
const byte _menuParametrsArray[] PROGMEM = {1, 3, 2, 0, 0, 0, 3, 4, 1, 4, 3,
0, 2, 3, 1, 0, 0, 0, 2, 4, 1, 4, 1, 0, 3, 1, 1, 0, 0, 0, 4, 5, 1, 8, 2, 0};
bool _menuValueArray_bool[1];
const bool _menuConstantValuesArray_bool[] PROGMEM = {1};
int _menuValueArray_int[2];
const int _menuConstantValuesArray_int[] PROGMEM = {1, 59, 23, 0};
const char _flprogMenuNameString1[] PROGMEM = "UST MINUTE";
const char _flprogMenuNameString2[] PROGMEM = "ON OFF RINGING";
const char _flprogMenuNameString3[] PROGMEM = "UST HOUR";
const char _flprogMenuNameString4[] PROGMEM = "ON";
const char _flprogMenuNameString5[] PROGMEM = "OFF";
const char* const _flprogMenuStringsArray[] PROGMEM = {
_flprogMenuNameString1, _flprogMenuNameString2, _flprogMenuNameString3,
_flprogMenuNameString4, _flprogMenuNameString5};
struct _menuItemStricture {
int startInArrayIndex;
};
struct _menuMainStricture {
byte startIndex;
byte stopIndex;
bool isSwitchMenuAroundRing;
_menuItemStricture currentItem;
};
_menuItemStricture _MenuItems[3];
_menuMainStricture _MainMenus[1];
bool _gtv1;
bool _gtv2;
bool _RTCAlO3 = 0;
bool _RTCAlO71 = 0;
bool _RTCAlO9 = 0;
bool _RTCAlO90 = 0;
bool _RTCAlO28 = 0;
bool _RTCAlO47 = 0;
bool _RTCAlO53 = 0;
int _disp2oldLength = 0;
bool _RTCAlO2 = 0;
bool _RTCAlO70 = 0;
bool _RTCAlO21 = 0;
bool _RTCAlO89 = 0;
bool _RTCAlO27 = 0;
String _MenuBlock_52101255_MNO;
String _MenuBlock_52101255_VNO;
bool _MenuBlock_52101255_OEIS = 0;
bool _MenuBlock_52101255_OMUIS = 0;
bool _MenuBlock_52101255_OMDIS = 0;
bool _MenuBlock_52101255_OVUIS = 0;
bool _MenuBlock_52101255_OVDIS = 0;
unsigned long _MenuBlock_52101255_VUDST = 0UL;
unsigned long _MenuBlock_52101255_VUDSPT = 0UL;
byte _MenuBlock_52101255_VUDSM = 0;
int _MenuBlock_52101255_VUDPT = 0;
bool _bounseInputD5S = 0;
bool _bounseInputD5O = 0;
unsigned long _bounseInputD5P = 0UL;
bool _RTCAlO46 = 0;
bool _RTCAlO63 = 0;
bool _RTCAlO1 = 0;
bool _RTCAlO82 = 0;
bool _RTCAlO20 = 0;
bool _RTCAlO88 = 0;
bool _RTCAlO39 = 0;
bool _bounseInputD3S = 0;
bool _bounseInputD3O = 0;
unsigned long _bounseInputD3P = 0UL;
bool _RTCAlO45 = 0;
bool _trgrt1 = 0;
bool _trgrt1I = 0;
bool _RTCAlO62 = 0;
bool _RTCAlO13 = 0;
bool _RTCAlO81 = 0;
bool _RTCAlO19 = 0;
bool _RTCAlO38 = 0;
bool _bounseInputD4S = 0;
bool _bounseInputD4O = 0;
unsigned long _bounseInputD4P = 0UL;
bool _RTCAlO74 = 0;
bool _RTCAlO12 = 0;
bool _RTCAlO80 = 0;
bool _RTCAlO31 = 0;
bool _RTCAlO50 = 0;
bool _RTCAlO56 = 0;
bool _RTCAlO5 = 0;
bool _RTCAlO73 = 0;
bool _RTCAlO11 = 0;
bool _tim1I = 0;
bool _tim1O = 0;
unsigned long _tim1P = 0UL;
bool _RTCAlO24 = 0;
bool _RTCAlO92 = 0;
bool _RTCAlO30 = 0;
bool _changeNumber1_Out = 0;
int _changeNumber1_OLV;
int _disp4oldLength = 0;
bool _RTCAlO49 = 0;
bool _RTCAlO66 = 0;
bool _RTCAlO4 = 0;
bool _RTCAlO72 = 0;
bool _RTCAlO23 = 0;
bool _RTCAlO91 = 0;
String _RTC1_GetTime2_StrOut;
bool _RTCAlO42 = 0;
bool _RTCAlO48 = 0;
bool _RTCAlO65 = 0;
bool _RTCAlO16 = 0;
bool _RTCAlO84 = 0;
bool _RTCAlO22 = 0;
bool _RTCAlO41 = 0;
int _disp1oldLength = 0;
bool _RTCAlO58 = 0;
bool _RTCAlO64 = 0;
bool _RTCAlO77 = 0;
bool _RTCAlO15 = 0;
bool _RTCAlO83 = 0;
bool _RTCAlO34 = 0;
bool _RTCAlO40 = 0;
bool _RTCAlO57 = 0;
bool _RTCAlO8 = 0;
bool _RTCAlO76 = 0;
bool _RTCAlO14 = 0;
bool _RTCAlO33 = 0;
bool _RTCAlO52 = 0;
bool _RTCAlO69 = 0;
bool _RTCAlO7 = 0;
bool _RTCAlO75 = 0;
bool _RTCAlO26 = 0;
bool _RTCAlO94 = 0;
bool _RTCAlO32 = 0;
bool _RTCAlO51 = 0;
bool _RTCAlO68 = 0;
bool _RTCAlO6 = 0;
bool _RTCAlO87 = 0;
bool _RTCAlO25 = 0;
bool _RTCAlO93 = 0;
bool _RTCAlO44 = 0;
bool _trgt1 = 0;
bool _trgt1I = 0;
bool _RTCAlO61 = 0;
bool _RTCAlO67 = 0;
bool _bounseInputD2S = 0;
bool _bounseInputD2O
·
= 0;
unsigned long _bounseInputD2P = 0UL;
bool _RTCAlO18 = 0;
bool _RTCAlO86 = 0;
bool _RTCAlO37 = 0;
bool _RTCAlO43 = 0;
bool _RTCAlO60 = 0;
bool _RTCAlO79 = 0;
bool _RTCAlO17 = 0;
bool _RTCAlO85 = 0;
String _RTC1_GetTime1_StrOut;
bool _RTCST_Ost1 = 0;
bool _RTCAlO36 = 0;
int _disp3oldLength = 0;
bool _RTCAlO55 = 0;
bool _RTCAlO59 = 0;
bool _RTCAlO10 = 0;
bool _RTCAlO78 = 0;
bool _RTCST_Ost2 = 0;
bool _RTCAlO29 = 0;
bool _RTCAlO35 = 0;
bool _changeNumber2_Out = 0;
int _changeNumber2_OLV;
bool _RTCAlO54 = 0;
void setup()
{
Wire.begin();
delay(10);
if(((readByteFromEEPROM(0, 0, 0x0))) != 111) {
(updateByteToEEPROM(0, 0, 0x0, (111)));
(updateIntegerToEEPROM(2, 0, 0x0, (0)));
(updateIntegerToEEPROM(4, 0, 0x0, (12)));
}
_RTC1.begin();
_RTC1.period(1);
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(3, INPUT);
digitalWrite(3, HIGH);
pinMode(4, INPUT);
digitalWrite(4, HIGH);
pinMode(5, INPUT);
digitalWrite(5, HIGH);
pinMode(13, OUTPUT);
_lcd1.init();
_lcd1.backlight();
_bounseInputD4O = digitalRead(4);
_bounseInputD3O = digitalRead(3);
_bounseInputD5O = digitalRead(5);
_bounseInputD2O = digitalRead(2);
_MenuItems[0].startInArrayIndex = 0;
_MenuItems[1].startInArrayIndex = 12;
_MenuItems[2].startInArrayIndex = 24;
_MainMenus[0].startIndex = 1;
_MainMenus[0].isSwitchMenuAroundRing = 1;
_MainMenus[0].stopIndex = 3;
_MainMenus[0].currentItem = _MenuItems[0];
_menuValueArray_int[0] = (readIntegerFromEEPROM(2, 0, 0x0));
_menuValueArray_bool[0] = (readBooleanFromEEPROM(1, 0, 0x0));
_menuValueArray_int[1] = (readIntegerFromEEPROM(4, 0, 0x0));
}
void loop()
{bool _tempVariable_bool;
int _tempVariable_int;
byte _tempVariable_byte;
if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
bool _bounceInputTmpD4 = (digitalRead (4));
if (_bounseInputD4S)
{
if (millis() >= (_bounseInputD4P + 40))
{_bounseInputD4O= _bounceInputTmpD4; _bounseInputD4S=0;}
}
else
{
if (_bounceInputTmpD4 != _bounseInputD4O )
{_bounseInputD4S=1; _bounseInputD4P = millis();}
}
bool _bounceInputTmpD3 = (digitalRead (3));
if (_bounseInputD3S)
{
if (millis() >= (_bounseInputD3P + 40))
{_bounseInputD3O= _bounceInputTmpD3; _bounseInputD3S=0;}
}
else
{
if (_bounceInputTmpD3 != _bounseInputD3O )
{_bounseInputD3S=1; _bounseInputD3P = millis();}
}
bool _bounceInputTmpD5 = (digitalRead (5));
if (_bounseInputD5S)
{
if (millis() >= (_bounseInputD5P + 40))
{_bounseInputD5O= _bounceInputTmpD5; _bounseInputD5S=0;}
}
else
{
if (_bounceInputTmpD5 != _bounseInputD5O )
{_bounseInputD5S=1; _bounseInputD5P = millis();}
}
bool _bounceInputTmpD2 = (digitalRead (2));
if (_bounseInputD2S)
{
if (millis() >= (_bounseInputD2P + 40))
{_bounseInputD2O= _bounceInputTmpD2; _bounseInputD2S=0;}
}
else
{
if (_bounceInputTmpD2 != _bounseInputD2O )
{_bounseInputD2S=1; _bounseInputD2P = millis();}
}
//Плата:1
bool _tmp1 = !(_bounseInputD2O);
if (_tmp1) { if (! _trgt1I) _trgt1 = ! _trgt1; }
_trgt1I = _tmp1;
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO21 = 1;
if (_RTC1.Hours != 13) { _RTCAlO21 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO21 = 0;}
} else {_RTCAlO21 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO57 = 1;
if (_RTC1.Hours != 8) { _RTCAlO57 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO57 = 0;}
} else {_RTCAlO57 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO77 = 1;
if (_RTC1.Hours != 13) { _RTCAlO77 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO77 = 0;}
} else {_RTCAlO77 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO1 = 1;
if (_RTC1.Hours != 8) { _RTCAlO1 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO1 = 0;}
} else {_RTCAlO1 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO22 = 1;
if (_RTC1.Hours != 14) { _RTCAlO22 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO22 = 0;}
} else {_RTCAlO22 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO58 = 1;
if (_RTC1.Hours != 8) { _RTCAlO58 = 0;}
if (_RTC1.minutes != 25)
·
{
_RTCAlO58 = 0;}
} else {_RTCAlO58 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO78 = 1;
if (_RTC1.Hours != 13) { _RTCAlO78 = 0;}
if (_RTC1.minutes != 55) { _RTCAlO78 = 0;}
} else {_RTCAlO78 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO2 = 1;
if (_RTC1.Hours != 8) { _RTCAlO2 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO2 = 0;}
} else {_RTCAlO2 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO3 = 1;
if (_RTC1.Hours != 8) { _RTCAlO3 = 0;}
if (_RTC1.minutes != 35) { _RTCAlO3 = 0;}
} else {_RTCAlO3 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO23 = 1;
if (_RTC1.Hours != 14) { _RTCAlO23 = 0;}
if (_RTC1.minutes != 5) { _RTCAlO23 = 0;}
} else {_RTCAlO23 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO59 = 1;
if (_RTC1.Hours != 8) { _RTCAlO59 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO59 = 0;}
} else {_RTCAlO59 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO79 = 1;
if (_RTC1.Hours != 14) { _RTCAlO79 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO79 = 0;}
} else {_RTCAlO79 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO4 = 1;
if (_RTC1.Hours != 9) { _RTCAlO4 = 0;}
if (_RTC1.minutes != 5) { _RTCAlO4 = 0;}
} else {_RTCAlO4 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO24 = 1;
if (_RTC1.Hours != 14) { _RTCAlO24 = 0;}
if (_RTC1.minutes != 35) { _RTCAlO24 = 0;}
} else {_RTCAlO24 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO60 = 1;
if (_RTC1.Hours != 8) { _RTCAlO60 = 0;}
if (_RTC1.minutes != 55) { _RTCAlO60 = 0;}
} else {_RTCAlO60 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO80 = 1;
if (_RTC1.Hours != 14) { _RTCAlO80 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO80 = 0;}
} else {_RTCAlO80 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO5 = 1;
if (_RTC1.Hours != 9) { _RTCAlO5 = 0;}
if (_RTC1.minutes != 10) { _RTCAlO5 = 0;}
} else {_RTCAlO5 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO25 = 1;
if (_RTC1.Hours != 14) { _RTCAlO25 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO25 = 0;}
} else {_RTCAlO25 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO61 = 1;
if (_RTC1.Hours != 9) { _RTCAlO61 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO61 = 0;}
} else {_RTCAlO61 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO81 = 1;
if (_RTC1.Hours != 14) { _RTCAlO81 = 0;}
if (_RTC1.minutes != 35) { _RTCAlO81 = 0;}
} else {_RTCAlO81 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO6 = 1;
if (_RTC1.Hours != 9) { _RTCAlO6 = 0;}
if (_RTC1.minutes != 40) { _RTCAlO6 = 0;}
} else {_RTCAlO6 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO26 = 1;
if (_RTC1.Hours != 15) { _RTCAlO26 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO26 = 0;}
} else {_RTCAlO26 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO62 = 1;
if (_RTC1.Hours != 9) { _RTCAlO62 = 0;}
if (_RTC1.minutes != 25) { _RTCAlO62 = 0;}
} else {_RTCAlO62 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO82 = 1;
if (_RTC1.Hours != 15) { _RTCAlO82 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO82 = 0;}
} else {_RTCAlO82 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO7 = 1;
if (_RTC1.Hours != 9) { _RTCAlO7 = 0;}
if (_RTC1.minutes != 50) { _RTCAlO7 = 0;}
} else {_RTCAlO7 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO27 = 1;
if (_RTC1.Hours != 15) { _RTCAlO27 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO27 = 0;}
} else {_RTCAlO27 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO63 = 1;
if (_RTC1.Hours != 9) { _RTCAlO63 = 0;}
if (_RTC1.minutes != 35) { _RTCAlO63 = 0;}
} else {_RTCAlO63 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO83 = 1;
if (_RTC1.Hours != 15) { _RTCAlO83 = 0;}
if (_RTC1.minutes != 10) { _RTCAlO83 = 0;}
} else {_RTCAlO83 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO8 = 1;
if (_RTC1.Hours != 10) { _RTCAlO8 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO8 = 0;}
} else {_RTCAlO8 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO28 = 1;
if (_RTC1.Hours != 15) { _RTCAlO28 = 0;}
if (_RTC1.minutes != 50) { _RTCAlO28 = 0;}
} else {_RTCAlO28 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO64 = 1;
if (_RTC1.Hours != 10) { _RTCAlO64 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO64 = 0;}
} else {_RTCAlO64 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO84 = 1;
if (_RTC1.Hours != 15) { _RTCAlO84 = 0;}
if (_RTC1.minu
·
tes
!= 40) { _RTCAlO84 = 0;}
} else {_RTCAlO84 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO9 = 1;
if (_RTC1.Hours != 10) { _RTCAlO9 = 0;}
if (_RTC1.minutes != 25) { _RTCAlO9 = 0;}
} else {_RTCAlO9 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO29 = 1;
if (_RTC1.Hours != 16) { _RTCAlO29 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO29 = 0;}
} else {_RTCAlO29 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO65 = 1;
if (_RTC1.Hours != 10) { _RTCAlO65 = 0;}
if (_RTC1.minutes != 5) { _RTCAlO65 = 0;}
} else {_RTCAlO65 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO85 = 1;
if (_RTC1.Hours != 15) { _RTCAlO85 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO85 = 0;}
} else {_RTCAlO85 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO10 = 1;
if (_RTC1.Hours != 10) { _RTCAlO10 = 0;}
if (_RTC1.minutes != 55) { _RTCAlO10 = 0;}
} else {_RTCAlO10 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO30 = 1;
if (_RTC1.Hours != 16) { _RTCAlO30 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO30 = 0;}
} else {_RTCAlO30 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO66 = 1;
if (_RTC1.Hours != 10) { _RTCAlO66 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO66 = 0;}
} else {_RTCAlO66 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO86 = 1;
if (_RTC1.Hours != 16) { _RTCAlO86 = 0;}
if (_RTC1.minutes != 10) { _RTCAlO86 = 0;}
} else {_RTCAlO86 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO11 = 1;
if (_RTC1.Hours != 11) { _RTCAlO11 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO11 = 0;}
} else {_RTCAlO11 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO31 = 1;
if (_RTC1.Hours != 16) { _RTCAlO31 = 0;}
if (_RTC1.minutes != 35) { _RTCAlO31 = 0;}
} else {_RTCAlO31 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO67 = 1;
if (_RTC1.Hours != 10) { _RTCAlO67 = 0;}
if (_RTC1.minutes != 35) { _RTCAlO67 = 0;}
} else {_RTCAlO67 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO87 = 1;
if (_RTC1.Hours != 16) { _RTCAlO87 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO87 = 0;}
} else {_RTCAlO87 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO12 = 1;
if (_RTC1.Hours != 11) { _RTCAlO12 = 0;}
if (_RTC1.minutes != 30) { _RTCAlO12 = 0;}
} else {_RTCAlO12 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO32 = 1;
if (_RTC1.Hours != 17) { _RTCAlO32 = 0;}
if (_RTC1.minutes != 5) { _RTCAlO32 = 0;}
} else {_RTCAlO32 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO68 = 1;
if (_RTC1.Hours != 11) { _RTCAlO68 = 0;}
if (_RTC1.minutes != 0) { _RTCAlO68 = 0;}
} else {_RTCAlO68 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO88 = 1;
if (_RTC1.Hours != 16) { _RTCAlO88 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO88 = 0;}
} else {_RTCAlO88 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO13 = 1;
if (_RTC1.Hours != 11) { _RTCAlO13 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO13 = 0;}
} else {_RTCAlO13 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO33 = 1;
if (_RTC1.Hours != 17) { _RTCAlO33 = 0;}
if (_RTC1.minutes != 10) { _RTCAlO33 = 0;}
} else {_RTCAlO33 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO69 = 1;
if (_RTC1.Hours != 11) { _RTCAlO69 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO69 = 0;}
} else {_RTCAlO69 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO89 = 1;
if (_RTC1.Hours != 16) { _RTCAlO89 = 0;}
if (_RTC1.minutes != 50) { _RTCAlO89 = 0;}
} else {_RTCAlO89 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO14 = 1;
if (_RTC1.Hours != 12) { _RTCAlO14 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO14 = 0;}
} else {_RTCAlO14 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO34 = 1;
if (_RTC1.Hours != 17) { _RTCAlO34 = 0;}
if (_RTC1.minutes != 40) { _RTCAlO34 = 0;}
} else {_RTCAlO34 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO70 = 1;
if (_RTC1.Hours != 11) { _RTCAlO70 = 0;}
if (_RTC1.minutes != 40) { _RTCAlO70 = 0;}
} else {_RTCAlO70 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO90 = 1;
if (_RTC1.Hours != 17) { _RTCAlO90 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO90 = 0;}
} else {_RTCAlO90 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO15 = 1;
if (_RTC1.Hours != 12) { _RTCAlO15 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO15 = 0;}
} else {_RTCAlO15 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO35 = 1;
if (_RTC
·
1.Hours != 17) { _RTCAlO35 = 0;}
if (_RTC1.minutes != 40) { _RTCAlO35 = 0;}
} else {_RTCAlO35 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO71 = 1;
if (_RTC1.Hours != 11) { _RTCAlO71 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO71 = 0;}
} else {_RTCAlO71 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO91 = 1;
if (_RTC1.Hours != 17) { _RTCAlO91 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO91 = 0;}
} else {_RTCAlO91 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO16 = 1;
if (_RTC1.Hours != 12) { _RTCAlO16 = 0;}
if (_RTC1.minutes != 50) { _RTCAlO16 = 0;}
} else {_RTCAlO16 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO36 = 1;
if (_RTC1.Hours != 18) { _RTCAlO36 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO36 = 0;}
} else {_RTCAlO36 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO72 = 1;
if (_RTC1.Hours != 12) { _RTCAlO72 = 0;}
if (_RTC1.minutes != 10) { _RTCAlO72 = 0;}
} else {_RTCAlO72 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO92 = 1;
if (_RTC1.Hours != 17) { _RTCAlO92 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO92 = 0;}
} else {_RTCAlO92 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO17 = 1;
if (_RTC1.Hours != 12) { _RTCAlO17 = 0;}
if (_RTC1.minutes != 55) { _RTCAlO17 = 0;}
} else {_RTCAlO17 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO73 = 1;
if (_RTC1.Hours != 12) { _RTCAlO73 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO73 = 0;}
} else {_RTCAlO73 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO93 = 1;
if (_RTC1.Hours != 17) { _RTCAlO93 = 0;}
if (_RTC1.minutes != 50) { _RTCAlO93 = 0;}
|
_RTC1.gettime();
_RTCAlO18 = 1;
if (_RTC1.Hours != 13) { _RTCAlO18 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO18 = 0;}
} else {_RTCAlO18 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO74 = 1;
if (_RTC1.Hours != 12) { _RTCAlO74 = 0;}
if (_RTC1.minutes != 45) { _RTCAlO74 = 0;}
} else {_RTCAlO74 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO94 = 1;
if (_RTC1.Hours != 18) { _RTCAlO94 = 0;}
if (_RTC1.minutes != 15) { _RTCAlO94 = 0;}
} else {_RTCAlO94 = 0;}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO19 = 1;
if (_RTC1.Hours != 12) { _RTCAlO19 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO19 = 0;}
} else {_RTCAlO19 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO75 = 1;
if (_RTC1.Hours != 12) { _RTCAlO75 = 0;}
if (_RTC1.minutes != 50) { _RTCAlO75 = 0;}
} else {_RTCAlO75 = 0;}
if (( (( (_RTCAlO77) || (_RTCAlO78) || (_RTCAlO79) || (_RTCAlO80) ||
(_RTCAlO81) || (_RTCAlO82) || (_RTCAlO83) || (_RTCAlO84) || (_RTCAlO85) ||
(_RTCAlO86) || (_RTCAlO87) || (_RTCAlO88) || (_RTCAlO89) || (_RTCAlO90) ||
(_RTCAlO91) || (_RTCAlO92) || (_RTCAlO93) || (_RTCAlO94) )) || (( (_RTCAlO57)
|| (_RTCAlO58) || (_RTCAlO59) || (_RTCAlO60) || (_RTCAlO61) || (_RTCAlO62) ||
(_RTCAlO63) || (_RTCAlO64) || (_RTCAlO65) || (_RTCAlO66) || (_RTCAlO67) ||
(_RTCAlO68) || (_RTCAlO69) || (_RTCAlO70) || (_RTCAlO71) || (_RTCAlO72) ||
(_RTCAlO73) || (_RTCAlO74) || (_RTCAlO75) || (_RTCAlO76) )) || (( (_RTCAlO21)
|| (_RTCAlO22) || (_RTCAlO23) || (_RTCAlO24) || (_RTCAlO25) || (_RTCAlO26) ||
(_RTCAlO27) || (_RTCAlO28) || (_RTCAlO29) || (_RTCAlO30) || (_RTCAlO31) ||
(_RTCAlO32) || (_RTCAlO33) || (_RTCAlO34) || (_RTCAlO35) || (_RTCAlO36) )) ||
(( (_RTCAlO1) || (_RTCAlO2) || (_RTCAlO3) || (_RTCAlO4) || (_RTCAlO5) ||
(_RTCAlO6) || (_RTCAlO7) || (_RTCAlO8) || (_RTCAlO9) || (_RTCAlO10) ||
(_RTCAlO11) || (_RTCAlO12) || (_RTCAlO13) || (_RTCAlO14) || (_RTCAlO15) ||
(_RTCAlO16) || (_RTCAlO17) || (_RTCAlO18) || (_RTCAlO19) || (_RTCAlO20) )) ))
{ if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else
{_trgrt1 = 0; _trgrt1I = 0;};
if(_trgrt1) {_tim1O = 1; _tim1I = 1;} else { if(_tim1I) {_tim1I = 0; _tim1P =
millis();} else { if (_tim1O) {if ( _isTimer(_tim1P, 5000)) _tim1O = 0;}}}
if (_gtv1)
{
_RTC1.gettime();
_RTCAlO20 = 1;
if (_RTC1.Hours != 13) { _RTCAlO20 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO20 = 0;}
} else {_RTCAlO20 = 0;}
if (_gtv2)
{
_RTC1.gettime();
_RTCAlO76 = 1;
if (_RTC1.Hours != 13) { _RTCAlO76 = 0;}
if (_RTC1.minutes != 20) { _RTCAlO76 = 0;}
} else {_RTCAlO76 = 0;}
if (0)
{
_RT
·
C1.gettime();
_RTCAlO37 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO37 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO37 = 0;}
} else {_RTCAlO37 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO38 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO38 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO38 = 0;}
} else {_RTCAlO38 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO39 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO39 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO39 = 0;}
} else {_RTCAlO39 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO40 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO40 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO40 = 0;}
} else {_RTCAlO40 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO41 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO41 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO41 = 0;}
} else {_RTCAlO41 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO42 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO42 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO42 = 0;}
} else {_RTCAlO42 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO43 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO43 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO43 = 0;}
} else {_RTCAlO43 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO44 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO44 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO44 = 0;}
} else {_RTCAlO44 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO45 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO45 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO45 = 0;}
} else {_RTCAlO45 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO46 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO46 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO46 = 0;}
} else {_RTCAlO46 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO47 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO47 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO47 = 0;}
} else {_RTCAlO47 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO48 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO48 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO48 = 0;}
} else {_RTCAlO48 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO49 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO49 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO49 = 0;}
} else {_RTCAlO49 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO50 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO50 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO50 = 0;}
} else {_RTCAlO50 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO51 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO51 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO51 = 0;}
} else {_RTCAlO51 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO52 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO52 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO52 = 0;}
} else {_RTCAlO52 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO53 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO53 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO53 = 0;}
} else {_RTCAlO53 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO54 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO54 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO54 = 0;}
} else {_RTCAlO54 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO55 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO55 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO55 = 0;}
} else {_RTCAlO55 = 0;}
if (0)
{
_RTC1.gettime();
_RTCAlO56 = 1;
if (_RTC1.Hours != (0)) { _RTCAlO56 = 0;}
if (_RTC1.minutes != (0)) { _RTCAlO56 = 0;}
} else {_RTCAlO56 = 0;}
if (_changeNumber1_Out) {_changeNumber1_Out = 0;} else {_tempVariable_int =
(_menuValueArray_int[1]);
if (_tempVariable_int != _changeNumber1_OLV) {_changeNumber1_OLV =
_tempVariable_int; _changeNumber1_Out = 1;}
}
if (_changeNumber1_Out)
{ if (!(_RTCST_Ost1))
{
_RTC1.settime(-1, -1, ((_menuValueArray_int[1])), -1, -1, -1, -1);
}}
else
{ _RTCST_Ost1 = 0;}
if (_trgt1) {
_tempVariable_bool = 1;
if ( ! _MenuBlock_52101255_OEIS ) {_MenuBlock_52101255_OEIS = 1;
}
_tempVariable_byte =
pgm_read_byte(&_menuParametrsArray[((_MainMenus[0].currentItem ).startInArrayIndex)+10]);
_MenuBlock_52101255_MNO = _readStringFromProgmem
((char*)pgm_read_word(&(_flprogMenuStringsArray[_tempVariable_byte -
1])));
_MenuBlock_52101255_VNO = _menuOutputValueString (0);
} else {
_tempVariable_bool = 0;
if (_MenuBlock_52101255_OEIS){
_MenuBlock_52101255_OEIS = 0;
_menuUpdateToEEpromItems();
}
_MenuBlock_52101255_MNO = "";
_MenuBlock_5210125
·
5_VNO =
"";
}
if(0) { if ( ! _MenuBlock_52101255_OMUIS) {_MenuBlock_52101255_OMUIS = 1;if
(_tempVariable_bool){ _menuUpEvents(0);
_menuUpdateToEEpromItems();
}}} else {_MenuBlock_52101255_OMUIS = 0;}
if(!(_bounseInputD3O)) { if ( ! _MenuBlock_52101255_OMDIS)
{_MenuBlock_52101255_OMDIS = 1;if (_tempVariable_bool){ _menuDownEvents(0);
_menuUpdateToEEpromItems();
}}} else {_MenuBlock_52101255_OMDIS = 0;}
if(!(_bounseInputD4O)) { if ( ! _MenuBlock_52101255_OVUIS)
{_MenuBlock_52101255_OVUIS = 1; if (_tempVariable_bool){ _valueUpEvents(0);
_MenuBlock_52101255_VUDST = millis();} }if (_tempVariable_bool){
if (_MenuBlock_52101255_VUDSM == 0) { if (_isTimer(_MenuBlock_52101255_VUDST
, 2000 )) {_MenuBlock_52101255_VUDSM = 1; _MenuBlock_52101255_VUDSPT =
millis(); _MenuBlock_52101255_VUDPT = 500;}} else { if
(_MenuBlock_52101255_VUDSM == 1) { if (_isTimer(_MenuBlock_52101255_VUDST ,
4000 )) {_MenuBlock_52101255_VUDSM = 2;_MenuBlock_52101255_VUDPT = 250; } }
if (_isTimer(_MenuBlock_52101255_VUDSPT , _MenuBlock_52101255_VUDPT )) {
_valueUpEvents(0); _MenuBlock_52101255_VUDSPT = millis();} }
}} else {_MenuBlock_52101255_OVUIS = 0; if( ! ( !(_bounseInputD5O))){_MenuBlock_52101255_VUDSM
= 0; }}
if(!(_bounseInputD5O)) { if ( ! _MenuBlock_52101255_OVDIS)
{_MenuBlock_52101255_OVDIS = 1; if (_tempVariable_bool){ _valueDownEvents(0);
_MenuBlock_52101255_VUDST = millis();}} if (_tempVariable_bool){
if (_MenuBlock_52101255_VUDSM == 0) { if (_isTimer(_MenuBlock_52101255_VUDST
, 2000 )) {_MenuBlock_52101255_VUDSM = 1; _MenuBlock_52101255_VUDSPT =
millis(); _MenuBlock_52101255_VUDPT = 500;}} else { if
(_MenuBlock_52101255_VUDSM == 1) { if (_isTimer(_MenuBlock_52101255_VUDST ,
4000 )) {_MenuBlock_52101255_VUDSM = 2;_MenuBlock_52101255_VUDPT = 250; } }
if (_isTimer(_MenuBlock_52101255_VUDSPT , _MenuBlock_52101255_VUDPT )) {
_valueDownEvents(0); _MenuBlock_52101255_VUDSPT = millis();} }
}} else {_MenuBlock_52101255_OVDIS = 0; if( ! (
!(_bounseInputD4O))){_MenuBlock_52101255_VUDSM = 0; }}
if (_trgt1) {
_dispTempLength1 = ((_MenuBlock_52101255_MNO)).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 0);
_lcd1.print((_MenuBlock_52101255_MNO));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength =
0;}
}
if (_changeNumber2_Out) {_changeNumber2_Out = 0;} else {_tempVariable_int =
(_menuValueArray_int[0]);
if (_tempVariable_int != _changeNumber2_OLV) {_changeNumber2_OLV =
_tempVariable_int; _changeNumber2_Out = 1;}
}
if (_changeNumber2_Out)
{ if (!(_RTCST_Ost2))
{
_RTC1.settime(-1, ((_menuValueArray_int[0])), -1, -1, -1, -1, -1);
}}
else
{ _RTCST_Ost2 = 0;}
if (_trgt1) {
_dispTempLength1 = ((_MenuBlock_52101255_VNO)).length();
if (_disp2oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp2oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 1);
_lcd1.print((_MenuBlock_52101255_VNO));
} else {
if (_disp2oldLength > 0) {_isNeedClearDisp1 = 1; _disp2oldLength =
0;}
}
if (!(_trgt1)) {
_dispTempLength1 = ((_RTC1_GetTime1_StrOut)).length();
if (_disp4oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp4oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 0);
_lcd1.print((_RTC1_GetTime1_StrOut));
} else {
if (_disp4oldLength > 0) {_isNeedClearDisp1 = 1; _disp4oldLength =
0;}
}
_RTC1_GetTime1_StrOut = _RTC1.gettime("H:i:s");
if (!(_trgt1)) {
_dispTempLength1 = ((_RTC1_GetTime2_StrOut)).length();
if (_disp3oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp3oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 1);
_lcd1.print((_RTC1_GetTime2_StrOut));
} else {
if (_disp3oldLength > 0) {_isNeedClearDisp1 = 1; _disp3oldLength =
0;}
}
_RTC1_GetTime2_StrOut = _RTC1.gettime("D");
_gtv2 = ((_RTC1_GetTime2_StrOut).equalsIgnoreCase(String("Thu")));
_gtv1 = (
(((_RTC1_GetTime2_StrOut).equalsIgnoreCase(String("Mon")))) || (((_RTC1_G
·
etTime2_StrOut).equalsIgnoreCase(String("Tue"))))
|| (((_RTC1_GetTime2_StrOut).equalsIgnoreCase(String("Wed")))) ||
(((_RTC1_GetTime2_StrOut).equalsIgnoreCase(String("Fri")))) ||
(((_RTC1_GetTime2_StrOut).equalsIgnoreCase(String("Sat")))) );
digitalWrite(13, _tim1O);
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime +
period));} else {return (currentTime >=(4294967295-startTime+period));}
}
String _readStringFromProgmem (char *string)
{
String result = String("");
while (pgm_read_byte(string)!='\0')
{
result=result+ char(pgm_read_byte(string));
string++;
}
return result;
}
void _menuUpEvents (byte menuIndex)
{
byte tempIndex =
pgm_read_byte(&_menuParametrsArray[((_MainMenus[menuIndex]).currentItem).startInArrayIndex]);
byte parIndex = pgm_read_byte(&_menuParametrsArray[
(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+5]);
byte parentStartIndex;
byte parentStopIndex;
if (parIndex == 0) {parentStartIndex = (_MainMenus[menuIndex]).startIndex;
parentStopIndex = (_MainMenus[menuIndex]).stopIndex;}
else { parentStartIndex = pgm_read_byte(&_menuParametrsArray[(
(_MenuItems[parIndex - 1]).startInArrayIndex)+3]);
parentStopIndex = pgm_read_byte(&_menuParametrsArray[(
(_MenuItems[parIndex-1]).startInArrayIndex)+4]); }
if (tempIndex == parentStartIndex)
{if((_MainMenus[menuIndex]).isSwitchMenuAroundRing)
{(_MainMenus[menuIndex]).currentItem = _MenuItems[parentStopIndex -1];
return;} else{return;}}
(_MainMenus[menuIndex]).currentItem = _MenuItems[tempIndex - 2];
return;
}
void _menuDownEvents (byte menuIndex)
{
byte tempIndex =
pgm_read_byte(&_menuParametrsArray[((_MainMenus[menuIndex]).currentItem).startInArrayIndex]);
byte parIndex =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+5]);
byte parentStartIndex;
byte parentStopIndex;
if (parIndex == 0) {parentStartIndex = (_MainMenus[menuIndex]).startIndex;
parentStopIndex = (_MainMenus[menuIndex]).stopIndex;}
else { parentStartIndex = pgm_read_byte(&_menuParametrsArray[(
(_MenuItems[parIndex-1]).startInArrayIndex)+3]);
parentStopIndex =
pgm_read_byte(&_menuParametrsArray[((_MenuItems[parIndex-1]).startInArrayIndex)+4]);
}
if (tempIndex == parentStopIndex)
{if((_MainMenus[menuIndex]).isSwitchMenuAroundRing)
{(_MainMenus[menuIndex]).currentItem = _MenuItems[parentStartIndex -1];
return;} else{return;}}
(_MainMenus[menuIndex]).currentItem = _MenuItems[tempIndex];
return;
}
void _valueUpEvents (byte menuIndex)
{
byte valIndex =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+2]);
byte itemType =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+1]);
byte indexMax =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+6]);
byte indexStep =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+8]);
if(itemType ==1) {_menuValueArray_bool[valIndex - 1 ] = 1; return;}
if (itemType == 3) {if (! indexMax == 0) { if ( ! (pgm_read_word(&_menuConstantValuesArray_int[indexMax
-1]) > _menuValueArray_int[valIndex -1])) {return;} }
_menuValueArray_int[valIndex -1] = _menuValueArray_int[valIndex -1] +
(pgm_read_word(&_menuConstantValuesArray_int[indexStep -1])); }
}
void _valueDownEvents (byte menuIndex)
{
byte valIndex =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+2]);
byte itemType =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+1]);
byte indexMin =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+7]);
byte indexStep =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+8]);
if(itemType ==1) {_menuValueArray_bool[valIndex -1] = 0; return;}
if (itemType == 3) { if (!
·
indexMin
== 0) { if ( ! ((pgm_read_word(&_menuConstantValuesArray_int[indexMin -
1])) < _menuValueArray_int[valIndex - 1])) {return;}}
_menuValueArray_int[valIndex - 1] = _menuValueArray_int[valIndex - 1] -
(pgm_read_word(&_menuConstantValuesArray_int[indexStep - 1])); }
}
String _menuOutputValueString (byte menuIndex)
{
byte itemType = pgm_read_byte(&_menuParametrsArray[
(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+1]);
byte valIndex = pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+2]);
byte indexMin =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+7]);
byte indexMax = pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+6]);
if( valIndex == 0){ return "";}
byte convFormat =
pgm_read_byte(&_menuParametrsArray[(((_MainMenus[menuIndex]).currentItem).startInArrayIndex)+9]);
if(itemType == 1) { return _convertBoolean(itemType, convFormat, valIndex,
indexMax, indexMin);}
if(itemType == 3) { return _convertNamber(itemType, convFormat, valIndex,
indexMax, indexMin);}
return "";
}
void _menuUpdateToEEpromItems()
{
(updateIntegerToEEPROM(2, 0, 0x0, ((_menuValueArray_int[0]))));
(updateBooleanToEEPROM(1, 0, 0x0, ((_menuValueArray_bool[0]))));
(updateIntegerToEEPROM(4, 0, 0x0, ((_menuValueArray_int[1]))));
}
String _convertNamber(byte itemType, byte convFormat, byte valIndex, byte
indexMax, byte indexMin)
{
if (itemType== 3) {
if (convFormat == 4) { return String((_menuValueArray_int[valIndex - 1
]),DEC);}
if (convFormat == 5) { return String((_menuValueArray_int[valIndex -
1]),HEX);}
if (convFormat == 6) { return String((_menuValueArray_int[valIndex
-1]),BIN);}
}
}
String _convertBoolean(byte itemType, byte convFormat, byte valIndex, byte
indexMax, byte indexMin)
{
if (convFormat == 1) { if(_menuValueArray_bool[valIndex -1]) {return
"1";} else{ return "0";}}
if (convFormat == 2) { if(_menuValueArray_bool[valIndex -1]) {return
"True";} else{ return "False";}}
if (convFormat == 3) { if(_menuValueArray_bool[valIndex -1 ]) {return "Да";}
else{ return "Нет";}}
if(_menuValueArray_bool[valIndex -1]) {return _readStringFromProgmem
((char*)pgm_read_word(&(_flprogMenuStringsArray[indexMax - 1])));} else {
return _readStringFromProgmem
((char*)pgm_read_word(&(_flprogMenuStringsArray[indexMin - 1])));}
}
byte readByteFromEEPROM(int addres, byte bitAddres, byte chipAddres)
{
return EEPROM.read(addres);
}
void updateByteToEEPROM(int addres, byte bitAddres, byte chipAddres, byte
value)
{
return EEPROM.update(addres, value);
}
bool readBooleanFromEEPROM(int addres, byte bitAddres, byte chipAddres)
{
byte temp = readByteFromEEPROM( addres, bitAddres, chipAddres);
return bitRead(temp, bitAddres);
}
void updateBooleanToEEPROM(int addres, byte bitAddres, byte chipAddres, bool
value)
{
byte temp = readByteFromEEPROM( addres, bitAddres, chipAddres);
bitWrite(temp, bitAddres, value);
updateByteToEEPROM( addres, bitAddres, chipAddres, temp);
}
int readIntegerFromEEPROM(int addres, byte bitAddres, byte chipAddres)
{
byte hight = readByteFromEEPROM( addres, bitAddres, chipAddres);
byte low = readByteFromEEPROM( (addres+1), bitAddres, chipAddres);
return word(hight, low);
}
void updateIntegerToEEPROM(int addres, byte bitAddres, byte chipAddres, int
value)
{
updateByteToEEPROM( addres, bitAddres, chipAddres, highByte(value));
updateByteToEEPROM( (addres+1), bitAddres, chipAddres, lowByte(value));
}
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.