You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Play/my718/grafik.ino

1290 lines
33 KiB

void grafik()
{
boolean datm=1;
boolean datd=1;
boolean daty=1;
if (graf==1)
{
goto wil;
}
myGLCD.setColor(VGA_WHITE);
myGLCD.setBackColor(VGA_BLUE);
myGLCD.setFont(BigFont);
myGLCD.fillScr(VGA_BLUE);
kalend();
myGLCD.drawBitmap (639, 370, 160, 80, cl);
myGLCD.drawRoundRect (639, 370, 799, 450); //Clok
clc();
//*********************************************************
myGLCD.setColor(8,101,192);
myGLCD.fillRoundRect(0, 0, 635, 470);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(0, 0, 635, 470);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(415, 22, 635, 90);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(415, 22, 635, 90);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(0, 0, 415, 470);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(0, 0, 415, 470);//прямоугольник с обводкой
tminmaxprint();
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(8,101,192);
myGLCD.setColor(255, 255, 0);//цвет
myGLCD.print("Change" ,460, 120);
myGLCD.print("D" ,440, 163);
myGLCD.print("M" ,440, 203);
myGLCD.print("Y" ,440, 243);
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( Ubuntubold);
mon1=t.mon;
years1=t.year;
days1=t.date;
myGLCD.setColor(255, 255, 255);//цвет
if (days1<10)
myGLCD.printNumI(days1, 440-8+24, 40);
else
myGLCD.printNumI(days1, 440-8, 40);
myGLCD.print("." ,440+40, 40);
if (mon1<10)
{myGLCD.print("0" ,440+40+20, 40);
myGLCD.printNumI(mon1, 440+40+20+24, 40);
}
else
myGLCD.printNumI(mon1, 440+40+20, 40);
myGLCD.print("." ,440+40+17+48, 40);
myGLCD.printNumI(years1-2000, 440+40+20+48+20, 40);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(490, 157, 615, 195);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(490, 157, 615, 195);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(490, 197, 615, 235);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(490, 197, 615, 235);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(490, 237, 615, 275);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(490, 237, 615, 275);//прямоугольник с обводкой
myGLCD.setBackColor(0,38,92);
if (days1<10)
{myGLCD.print("0" ,527, 163);
myGLCD.printNumI(days1, 527+24, 163);
}
else
myGLCD.printNumI(days1, 527, 163);
if (mon1<10)
{myGLCD.print("0" ,527, 203);
myGLCD.printNumI(mon1, 527+24, 203);
}
else
myGLCD.printNumI(mon1, 527, 203);
myGLCD.printNumI(years1, 507, 243);
myGLCD.setColor(31,70,126);
myGLCD.print("<" ,495, 203);
myGLCD.print("<" ,495, 163);
//myGLCD.print("<" ,495, 243);
myGLCD.print(">" ,590, 203);
myGLCD.print(">" ,590, 163);
//myGLCD.print(">" ,495, 243);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(440, 290, 518, 340);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(440, 290, 518, 340);//прямоугольник с обводкой
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(538, 290, 615, 340);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(538, 290, 615, 340);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(440, 355, 615, 405);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(440, 355, 615, 405);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(440, 420, 615, 470);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(440, 420, 615, 470);//прямоугольник с обводкой
myGLCD.setBackColor(0,38,92);
myGLCD.print("RS" ,453, 303);
myGLCD.print("OK" ,553, 303);
myGLCD.setColor(63, 200, 255);//цвет
myGLCD.print("GRAFIK" ,458, 368);
myGLCD.setColor(255, 97, 237);//цвет
myGLCD.print("QUIT" ,479, 433);
myGLCD.setColor(255, 255, 255);//цвет
//************************************************************
printmassiv();
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(645, 155, 797, 367);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(645, 155, 797, 367);//прямоугольник с обводкой
info();
wil:
while(1)
{ sec=t.sec;
if ((sec==0) ||(sec==15) || (sec==30) || (sec==45))
{
// myGLCD.setBackColor(0,0,255);
// myGLCD.drawBitmap (769, 339, 30, 30, jar);
delay(800);
clc();
}
//*******************************
//if (sec==22)
//{printmassiv();
//}
//********************************
if ((sec==11) || (sec==42) )
{
info();
}
if ((sec==53) || (sec==25) )
{
info();
}
//*****************************************************************
if (myTouch.dataAvailable())
{
myTouch.read();
int x=myTouch.getX();
int y=myTouch.getY();
myGLCD.setFont( Ubuntubold);
/* myGLCD.setColor(VGA_BLUE);
myGLCD.setBackColor(255,255,255);
myGLCD.setFont( Ubuntubold);
myGLCD.print("x= " , 650, 32);
myGLCD.printNumI(x , 700, 32);
myGLCD.setFont( Ubuntubold);
myGLCD.print("y= " ,650 , 72);
myGLCD.printNumI(y , 700, 72); */
if ((x>=640) && (x<=799)) // Upper row
{
if ((y>=10) && (y<=150)) //(10, 370, 90, 450); //Install
{
kalendarset();
grafik();
}
if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok
{waitForIt1(639, 370, 799, 450);
graf=0;
menu();
}
}
//************dat
if ((y>=150) && (y<=190))
{ datd=1;
if ((x>=490) && (x<=520))
{ myGLCD.setBackColor(0,38,92);
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
myGLCD.print("<" ,495, 163);
myGLCD.setColor(255,255,255);
days1=days1-1;
days1=validateDate(days1, mon1, years1);
if(years1==t.year)//проверка на наличае данных
{if(mon1>=t.mon)
{if(days1>t.date)
{myGLCD.setColor(255,0,0);
datd=0;
}
}
}
if (days1<10)
{myGLCD.print("0" ,527, 163);
myGLCD.printNumI(days1, 527+24, 163);
}
else
myGLCD.printNumI(days1, 527, 163);
delay (300);
myGLCD.setColor(31,70,126);
myGLCD.print("<" ,495, 163);
}
if ((x>=580) && (x<=610))
{ myGLCD.setBackColor(0,38,92);
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
myGLCD.print(">" ,590, 163);
myGLCD.setColor(255,255,255);
days1=days1+1;
days1=validateDate(days1, mon1, years1);
if(years1==t.year)//проверка на наличае данных
{if(mon1>=t.mon)
{if(days1>t.date)
{myGLCD.setColor(255,0,0);
datd=0;
}
}
}
if (days1<10)
{myGLCD.print("0" ,527, 163);
myGLCD.printNumI(days1, 527+24, 163);
}
else
myGLCD.printNumI(days1, 527, 163);
delay (300);
myGLCD.setColor(31,70,126);
myGLCD.print(">" ,590, 163);
}
}
//*********************************
if ((y>=200) && (y<=230)) //кнопка месяц
{datm=1;
if ((x>=490) && (x<=520))
{ myGLCD.setBackColor(0,38,92);
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
myGLCD.print("<" ,495, 203);
myGLCD.setColor(255,255,255);
mon1=mon1-1;
if (mon1==0)
mon1=12;
if(years1==t.year)
{if(mon1>t.mon)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
if(years1<2015)
{if(mon1<6)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
if(years1==t.year)//проверка на наличае данных
{if(mon1>=t.mon)
{if(days1>t.date)
{myGLCD.setColor(255,0,0);
datd=0;
}
}
}
if (mon1<10)
{myGLCD.print("0" ,527, 203);
myGLCD.printNumI(mon1, 527+24, 203);
}
else
myGLCD.printNumI(mon1, 527, 203);
delay (300);
myGLCD.setColor(31,70,126);
myGLCD.print("<" ,495, 203);
}
if ((x>=580) && (x<=610))
{ myGLCD.setBackColor(0,38,92);
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
myGLCD.print(">" ,590, 203);
myGLCD.setColor(255,255,255);
mon1=mon1+1;
if (mon1==13)
mon1=1;
if(years1==t.year)//проверка на наличае данных
{if(mon1>t.mon)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
if(years1<2015)
{if(mon1<6)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
if(years1==t.year)//проверка на наличае данных
{if(mon1>=t.mon)
{if(days1>t.date)
{myGLCD.setColor(255,0,0);
datd=0;
}
}
}
if (mon1<10)
{myGLCD.print("0" ,527, 203);
myGLCD.printNumI(mon1, 527+24, 203);
}
else
myGLCD.printNumI(mon1, 527, 203);
delay (300);
myGLCD.setColor(31,70,126);
myGLCD.print(">" ,590, 203);
}
}
if ((y>=240) && (y<=270)) //кнопка год -+
{ daty=1;
if ((x>=485) && (x<=510))
{years1=years1-1;
if(years1<2013)
years1=2013;
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
if((years1<2014) || (years1>t.year))
{ myGLCD.setColor(255,0,0);
daty=0;
}
myGLCD.printNumI(years1, 507, 243);
delay(300);
}
if ((x>=600) && (x<=617))
{years1=years1+1;
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
if((years1<2014) || (years1>t.year))
{ myGLCD.setColor(255,0,0);
daty=0;
}
myGLCD.printNumI(years1, 507, 243);
delay(300);
}
}
if ((y>=290) && (y<=340)) //кнопка RS
{if ((x>=440) && (x<=515))
{ myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,0);
myGLCD.print("RS" ,453, 303);
mon1=t.mon;
years1=t.year;
days1=t.date;
myGLCD.setColor(255,255,255);
if (days1<10)
{myGLCD.print("0" ,527, 163);
myGLCD.printNumI(days1, 527+24, 163);
}
else
myGLCD.printNumI(days1, 527, 163);
if (mon1<10)
{myGLCD.print("0" ,527, 203);
myGLCD.printNumI(mon1, 527+24, 203);
}
else
myGLCD.printNumI(mon1, 527, 203);
myGLCD.printNumI(years1, 507, 243);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(0, 0, 415, 470);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(0, 0, 415, 470);//прямоугольник с обводкой
myGLCD.setColor(0,255,0);
myGLCD.print("RS" ,453, 303);
printmassiv();
//вывод даты данных
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( Ubuntubold);
myGLCD.setColor(255, 255, 255);
if (days1<10)
{ myGLCD.print(" " ,440-8, 40);
myGLCD.printNumI(days1, 440-8+24, 40);
}
else
myGLCD.printNumI(days1, 440-8, 40);
myGLCD.print("." ,440+40, 40);
if (mon1<10)
{myGLCD.print("0" ,440+40+20, 40);
myGLCD.printNumI(mon1, 440+40+20+24, 40);
}
else
myGLCD.printNumI(mon1, 440+40+20, 40);
myGLCD.print("." ,440+40+17+48, 40);
myGLCD.printNumI(years1-2000, 440+40+20+48+20, 40);
delay(300);
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
myGLCD.print("RS" ,453, 303);
}
if ((x>=540) && (x<=605))
{ myGLCD.setBackColor(0,38,92);
if(daty+datd+datm==3)
{myGLCD.setColor(0,255,0);
myGLCD.print("OK" ,553, 303);
//**************************************
if(years1==t.year)//проверка сегодняшней даты данные есть в массиве, но не записаны еще на флешку
{if(mon1==t.mon)
{if(days1==t.date)
{ //вывод даты данных
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( Ubuntubold);
myGLCD.setColor(255, 255, 255);
if (days1<10)
{ myGLCD.print(" " ,440-8, 40);
myGLCD.printNumI(days1, 440-8+24, 40);
}
else
myGLCD.printNumI(days1, 440-8, 40);
myGLCD.print("." ,440+40, 40);
if (mon1<10)
{myGLCD.print("0" ,440+40+20, 40);
myGLCD.printNumI(mon1, 440+40+20+24, 40);
}
else
myGLCD.printNumI(mon1, 440+40+20, 40);
myGLCD.print("." ,440+40+17+48, 40);
myGLCD.printNumI(years1-2000, 440+40+20+48+20, 40);
printmassiv();
}
else readmasfail( days1, mon1, years1);
}
else readmasfail( days1, mon1, years1);
}
else readmasfail( days1, mon1, years1);
}
else
{myGLCD.setColor(255,0,0);
myGLCD.print("OK" ,553, 303);
}
delay(300);
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
myGLCD.print("OK" ,553, 303);
}
}
if ((x>=440) && (x<=610))
{if ((y>=360) && (y<=400)) //кнопка GRAFIK
{
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(59, 251, 104);//цвет
myGLCD.print("GRAFIK" ,458, 368);
delay(500);
myGLCD.setColor(63, 200, 255);//цвет
myGLCD.print("GRAFIK" ,458, 368);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(415, 22, 635, 90);//рисуем синий пр-к очистка поля даты
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(415, 22, 635, 90);//прямоугольник с обводкой
myGLCD.setColor(255, 255, 255);//цвет
colorgraf=0;
grafiks();
}
if ((y>=420) && (y<=470)) //кнопка QUIT
{ myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255, 100, 100);//цветmyGLCD.setColor(255, 97, 237);//цвет
myGLCD.print("QUIT" ,479, 433);
delay(500);
myGLCD.setColor(255, 97, 237);//цвет
myGLCD.print("QUIT" ,479, 433);
myGLCD.setColor(255, 255, 255);//цвет
graf=0;
menu();
}
}
}
}//wile
}
//**************************massiv******************
void printmassiv()// таблица данных датчиков за день
{//myGLCD.printNumI(rtc_clock.get_hours(),cx, cy);
//myGLCD.printNumI(rtc_clock.get_minutes()
int x=10;
myGLCD.setColor(VGA_RED);//заголовок таблицы
myGLCD.setBackColor(255,255,255);
myGLCD.setFont(BigFont);
myGLCD.print("TIME" ,x+5, 10);
myGLCD.print("Th C" ,x+5+70, 10);
myGLCD.print("H%" ,x+5+75+63, 10);
myGLCD.print("Pmm" ,x+5+75+63+38, 10);
myGLCD.print("Tu C" ,x+5+75+63+38+53, 10);
myGLCD.print("Hu%" ,x+5+75+63+38+53+70, 10);
myGLCD.print("S%" ,x+5+75+63+38+53+70+60, 10);
myGLCD.setColor(VGA_BLUE);
myGLCD.setBackColor(255,255,255);
myGLCD.setFont(BigFont);
for ( byte index=0; index<24; index++)
{
myGLCD.print(":" ,x+32-5, 30+index*18);
if(time1[index]/100<10)
{
myGLCD.print("0" ,x, 30+index*18);
myGLCD.printNumI(time1[index]/100, x+16, 30+index*18);
}
else
{ myGLCD.printNumI(time1[index]/100, x, 30+index*18);
}
if(time1[index]%100<10)
{ myGLCD.print("0" ,x+32+5, 30+index*18);
myGLCD.printNumI(time1[index]%100, x+32+16+5, 30+index*18);
}
else
{
myGLCD.printNumI(time1[index]%100, x+32+5, 30+index*18);
}
}
x=x+75;
for ( byte index=0; index<24; index++)
{
myGLCD.print("+" , x ,30+index*18);
myGLCD.print("." ,x+32+5, 30+index*18);
myGLCD.printNumI(temdom[index]/10, x+10, 30+index*18);
myGLCD.printNumI(temdom[index]%10, x+10+32+5, 30+index*18);
}
x=x+68;
for ( byte index=0; index<24; index++)
{
myGLCD.printNumI(h[index], x, 30+index*18);
}
x=x+38;
for ( byte index=0; index<24; index++)
{
myGLCD.printNumI(pres[index], x, 30+index*18);
}
x=x+53;
for ( byte index=0; index<24; index++)//Tu
{
if (temul[index]<999)
{ myGLCD.print("+" , x ,30+index*18);
myGLCD.print("." ,x+32+5, 30+index*18);
if ((temul[index]<100)&&(temul[index]>9))
{ myGLCD.print("0" , x+10 ,30+index*18);
myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18);
myGLCD.printNumI(temul[index]%10, x+10+32+5, 30+index*18);
}
if (temul[index]<10)
{ myGLCD.print("00" , x+10 ,30+index*18);
// myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18);
myGLCD.printNumI(temul[index]%10, x+10+32+5, 30+index*18);
}
if (temul[index]>99)
{
myGLCD.printNumI(temul[index]/10, x+10, 30+index*18);
myGLCD.printNumI(temul[index]%10, x+10+32+5, 30+index*18);
}
}
else
{
myGLCD.print("-" , x ,30+index*18);
myGLCD.print("." ,x+32+5, 30+index*18);
//myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18);
if ((temul[index]-1000<100)&&(temul[index]-1000>9))
{ myGLCD.print("0" , x+10 ,30+index*18);
myGLCD.printNumI((temul[index]-1000)/10, x+10+16, 30+index*18);
myGLCD.printNumI((temul[index]-1000)%10, x+10+32+5, 30+index*18);
}
if (temul[index]-1000<10)
{ myGLCD.print("00" , x+10 ,30+index*18);
// myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18);
myGLCD.printNumI((temul[index]-1000)%10, x+10+32+5, 30+index*18);
}
if (temul[index]-1000>99)
{
myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18);
myGLCD.printNumI((temul[index]-1000)%10, x+10+32+5, 30+index*18);
}
}
}
x=x+70;
for ( byte index=0; index<24; index++)//Hug
{
myGLCD.print(" " ,x, 30+index*18);
if ((hug[index]>0)&&(hug[index]<1000))
{myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.printNumI(hug[index]/10, x, 30+index*18);
myGLCD.printNumI(hug[index]%10, x+32+5, 30+index*18);
}
else
{
myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.print("00" ,x, 30+index*18);
myGLCD.print("0", x+32+5, 30+index*18);
}
}
//sun
x=x+60;
for ( byte index=0; index<24; index++)//Hug
{
myGLCD.print(" " ,x, 30+index*18);
if ((sun[index]>0)&&(sun[index]<100))
{ if ((sun[index]>0)&&(sun[index]<10))
{myGLCD.print("0" ,x, 30+index*18);
myGLCD.printNumI(sun[index], x+16, 30+index*18);
//myGLCD.printNumI(hug7[index]%10, x+32+5, 30+index*18);
}
else
{
//myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.printNumI(sun[index], x, 30+index*18);
// myGLCD.print("0", x+32+5, 30+index*18);
}
}
else
{
//myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.print("00" ,x, 30+index*18);
// myGLCD.print("0", x+32+5, 30+index*18);
}
}
delay (200);
}
//****************************чтение файла со значениями погоды на зад день Ф.txt и запись данных в массивы **********************************************
void readmasfail(byte d,byte m,word y)
{
byte reader[35];//23:00 T=+26,8C Pmm=756 H=35%
byte time7[24]={23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
word temul7[24]={256,254,260,264,265,266,270,268,259,255,250,249,256,254,260,264,265,266,270,268,259,255,250,249};
char* strd[] = {"01.txt","02.txt","03.txt","04.txt","05.txt","06.txt","07.txt","08.txt","09.txt","10.txt","11.txt","12.txt","13.txt","14.txt","15.txt","16.txt","17.txt","18.txt","19.txt","20.txt","21.txt","22.txt","23.txt","24.txt","25.txt","26.txt","27.txt","28.txt","29.txt","30.txt","31.txt"};
char* strm[] = {"JAN","FEBR","MARCH","APRIL","MAY","JUNE","JULY","AUG","SEPT","OCT","NOV","DEC"};
char* stry[] = {"2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035"};
char* name;
//*********************************************************************************************************************************
word hug7[24]={756,754,760,764,765,766,770,768,759,755,750,749,756,754,760,764,765,766,770,768,759,755,750,749};
// word temdom7[24]={256,254,260,264,265,266,270,268,259,255,250,249,256,254,260,264,265,266,270,268,259,255,250,249};
byte h7[24]={25,25,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,25,25};
word pres7[24]={756,754,760,764,765,766,770,768,759,755,750,749,756,754,760,764,765,766,770,768,759,755,750,749};
//********************************************************************************
sd.chdir("/");
delay (100);
sd.chdir("tempdom");//23:00 T=+28,1C Pmm=755 H=35%
delay (100);
name= stry[y-2014];
if (!sd.chdir(name))//проверка наличая папки на флешке
{sd.chdir("/");
delay (100);
return;
}
delay (100);
sd.chdir(name);// заходим в папку год
delay (100);
name= strm[m-1];
if (!sd.chdir(name))//проверка наличая папки на флешке
{sd.chdir("/");
delay (100);
return;
}
delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);
name= strd[d-1];
//*************************************************************************
myFile.open(name, O_READ);
for (int n =0 ; n < 24; n = n++)// колво строк в файле
{
for (int i =0 ; i < 28; i = i++) // колво байт в строке
{ byte b= myFile.read();
if (b<48)
{reader[i]=b;
}
else
{ b=b-48;//получение цифры из байта
reader[i]=b;
}
}
//word time[24]=1000,1100,----
//word temdom[24]=256,254,
//word pres[24]=756,754,
// time7[n]=reader[0]*1000+reader[1]*100+reader[3]*10+reader[4];
temul7[n]=reader[9]*100+reader[10]*10+reader[12];
pres7[n]=reader[19]*100+reader[20]*10+reader[21];
h7[n]=reader[25]*10+reader[26];
//time7[n]=reader[0]*10+reader[1];
byte b= myFile.read()-48;//возврат коретки 2 байта
b= myFile.read()-48;
}
myFile.close();
//******************************************вывод рез в табл**************************************************************************************
myGLCD.setColor(VGA_RED);//заголовок таблицы
myGLCD.setBackColor(255,255,255);
myGLCD.setFont(BigFont);
int x=10;
myGLCD.print("TIME" ,x+5, 10);
myGLCD.print("Th C" ,x+5+70, 10);
myGLCD.print("H%" ,x+5+75+63, 10);
myGLCD.print("Pmm" ,x+5+75+63+38, 10);
myGLCD.print("Tu C" ,x+5+75+63+38+53, 10);
myGLCD.print("Hu%" ,x+5+75+63+38+53+70, 10);
myGLCD.print("S%" ,x+5+75+63+38+53+70+60, 10);
myGLCD.setColor(VGA_BLUE);
myGLCD.setBackColor(255,255,255);
myGLCD.setFont(BigFont);
x=x+75;
for ( byte index=0; index<24; index++)
{
myGLCD.print("+" , x ,30+index*18);
myGLCD.print("." ,x+32+5, 30+index*18);
myGLCD.printNumI(temul7[index]/10, x+10, 30+index*18);
myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18);
}
x=x+63+5;
for ( byte index=0; index<24; index++)
{
myGLCD.printNumI(h7[index], x, 30+index*18);
}
x=x+38;
for ( byte index=0; index<24; index++)
{
myGLCD.printNumI(pres7[index], x, 30+index*18);
}
x=x+53;
//*******************************************************************************************************************************
sd.chdir("/");
delay (100);
sd.chdir("tempul");//23:00 T=+27,8C Hu=33,2%
delay (100);
name= stry[y-2014];
if (!sd.chdir(name))//проверка наличая папки на флешке
{sd.chdir("/");
delay (100);
return;
}
delay (100);
sd.chdir(name);// заходим в папку год
delay (100);
name= strm[m-1];
if (!sd.chdir(name))//проверка наличая папки на флешке
{sd.chdir("/");
delay (100);
return;
}
delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);
name= strd[d-1];
// byte reader[24];//23:00 T=+26,8C Pmm=756 H=35%
//*************************************************************************
myFile.open(name, O_READ);
for (int n =0 ; n < 24; n = n++)// колво строк в файле
{
for (int i =0 ; i < 23; i = i++) // колво байт в строке
{ byte b= myFile.read();
if (b<48)
{reader[i]=b;
}
else
{ b=b-48;//получение цифры из байта
reader[i]=b;
}
//word time[24]=1000,1100,----
//word temdom[24]=256,254,
//word pres[24]=756,754,
}
//temdom7[n]=reader[9]*100+reader[10]*10+reader[12];
//pres7[n]=reader[19]*100+reader[20]*10+reader[21];
//h7[n]=reader[25]*10+reader[26];
time7[n]=reader[0]*10+reader[1];
hug7[n]=reader[18]*100+reader[19]*10+reader[21];
if (reader[8]==45)
{temul7[n]=reader[9]*100+reader[10]*10+reader[12]+1000;//- к отр темп прибавляем 1000
}
else
{
temul7[n]=reader[9]*100+reader[10]*10+reader[12];// полож темп записуем как есть
}
byte b= myFile.read()-48;//возврат коретки 2 байта
b= myFile.read()-48;
}
myFile.close();
delay (100);
sd.chdir("/");
delay (100);
//*******************************************
//вывод массивов в таблицу на печать
//************************************************
for ( byte index=0; index<24; index++)//Tu
{
if (temul7[index]<999)
{ myGLCD.print("+" , x ,30+index*18);
myGLCD.print("." ,x+32+5, 30+index*18);
if ((temul7[index]<100)&&(temul7[index]>9))
{ myGLCD.print("0" , x+10 ,30+index*18);
myGLCD.printNumI(temul7[index]/10, x+10+16, 30+index*18);
myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18);
}
if (temul7[index]<10)
{ myGLCD.print("00" , x+10 ,30+index*18);
// myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18);
myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18);
}
if (temul7[index]>99)
{
myGLCD.printNumI(temul7[index]/10, x+10, 30+index*18);
myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18);
}
}
else
{
myGLCD.print("-" , x ,30+index*18);
myGLCD.print("." ,x+32+5, 30+index*18);
//myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18);
if ((temul7[index]-1000<100)&&(temul7[index]-1000>9))
{ myGLCD.print("0" , x+10 ,30+index*18);
myGLCD.printNumI((temul7[index]-1000)/10, x+10+16, 30+index*18);
myGLCD.printNumI((temul7[index]-1000)%10, x+10+32+5, 30+index*18);
}
if (temul7[index]-1000<10)
{ myGLCD.print("00" , x+10 ,30+index*18);
// myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18);
myGLCD.printNumI((temul7[index]-1000)%10, x+10+32+5, 30+index*18);
}
if (temul7[index]-1000>99)
{
myGLCD.printNumI((temul7[index]-1000)/10, x+10, 30+index*18);
myGLCD.printNumI((temul7[index]-1000)%10, x+10+32+5, 30+index*18);
}
}
}
x=x+70;
for ( byte index=0; index<24; index++)//Hug
{
myGLCD.print(" " ,x, 30+index*18);
if ((hug7[index]>0)&&(hug7[index]<1000))
{myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.printNumI(hug7[index]/10, x, 30+index*18);
myGLCD.printNumI(hug7[index]%10, x+32+5, 30+index*18);
}
else
{
myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.print("00" ,x, 30+index*18);
myGLCD.print("0", x+32+5, 30+index*18);
}
}
//**************** ****************** ********************* ********************* *********************
sd.chdir("/");
delay (100);
sd.chdir("sun");//23:00 T=+27,8C Hu=33,2%
delay (100);
name= stry[y-2014];
if (!sd.chdir(name))//проверка наличая папки на флешке
{sd.chdir("/");
delay (100);
goto vr;
}
delay (100);
sd.chdir(name);// заходим в папку год
delay (100);
name= strm[m-1];
if (!sd.chdir(name))//проверка наличая папки на флешке
{sd.chdir("/");
delay (100);
goto vr;
}
delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);
name= strd[d-1];
// byte reader[24];//23:00 T=+26,8C Pmm=756 H=35%
//*************************************************************************
myFile.open(name, O_READ);
for (int n =0 ; n < 24; n = n++)// колво строк в файле
{
for (int i =0 ; i < 11; i = i++) // колво байт в строке
{ byte b= myFile.read();
if (b<48)
{reader[i]=b;
}
else
{ b=b-48;//получение цифры из байта
reader[i]=b;
}
}
hug7[n]=reader[8]*10+reader[9];
byte b= myFile.read()-48;//возврат коретки 2 байта
b= myFile.read()-48;
}
myFile.close();
delay (100);
sd.chdir("/");
delay (100);
//*******************************************
x=x+60;
for ( byte index=0; index<24; index++)//Hug
{
myGLCD.print(" " ,x, 30+index*18);
if ((hug7[index]>0)&&(hug7[index]<100))
{//myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.printNumI(hug7[index], x, 30+index*18);
//myGLCD.printNumI(hug7[index]%10, x+32+5, 30+index*18);
}
else
{
//myGLCD.print("." ,x+32-5, 30+index*18);
myGLCD.print("00" ,x, 30+index*18);
// myGLCD.print("0", x+32+5, 30+index*18);
}
}
//********************************************************************************************
vr:
x=10;//повт печать времени
for ( byte index=0; index<24; index++)
{
myGLCD.print(":" ,x+32-5, 30+index*18);
if(time7[index]<10)
{
myGLCD.print("0" ,x, 30+index*18);
myGLCD.printNumI(time7[index], x+16, 30+index*18);
}
else
{ myGLCD.printNumI(time7[index], x, 30+index*18);
}
myGLCD.print("00" ,x+32+5, 30+index*18);
}
//вывод даты данных
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( Ubuntubold);
myGLCD.setColor(255, 255, 255);
if (d<10)
{ myGLCD.print(" " ,440-8, 40);
myGLCD.printNumI(d, 440-8+24, 40);
}
else
myGLCD.printNumI(d, 440-8, 40);
myGLCD.print("." ,440+40, 40);
if (m<10)
{myGLCD.print("0" ,440+40+20, 40);
myGLCD.printNumI(m, 440+40+20+24, 40);
}
else
myGLCD.printNumI(m, 440+40+20, 40);
myGLCD.print("." ,440+40+17+48, 40);
myGLCD.printNumI(y-2000, 440+40+20+48+20, 40);
}
void tminmaxprint()
{
myGLCD.setBackColor(255,255,255);
myGLCD.setColor(255, 0, 0);
myGLCD.setFont(BigFont);
byte hh;
byte mm;
byte d;
byte m;
word y;
d=time1[24]/1000;
m=(time1[24]%1000)/10;
y=((time1[24]%1000)%10)*10;
hh=time1[25]/1000;
mm=(time1[25]%1000)/10;
y=y+((time1[25]%1000)%10);
int px=430;
byte py=90;
myGLCD.print("Tmax=+" ,px, py);
myGLCD.printNumI(temul[24]/10, px+16*6, py);
myGLCD.print("," ,px+16*8, py);
myGLCD.printNumI(temul[24]%10, px+16*9, py);
myGLCD.print("C " ,px+16*10, py);
//*************min ***********************************************
myGLCD.setColor(55, 55, 255);
myGLCD.setBackColor(255,255,255);
d=time1[26]/1000;
m=(time1[26]%1000)/10;
y=((time1[26]%1000)%10)*10;
hh=time1[27]/1000;
mm=(time1[27]%1000)/10;
y=y+((time1[27]%1000)%10);
// int Tm;
int Tm;
int Tm1;
py=90+16;
px=430;
if (temul[25]>1000)
{ Tm=temul[25]-1000;
if(Tm<100)
{myGLCD.print("Tmin= -" ,px, py);
}
else
{ myGLCD.print("Tmin=-" ,px, py);
}
}
else
{
Tm=temul[25];
if(Tm<100)
{myGLCD.print("Tmin= +" ,px, py);
}
else
{ myGLCD.print("Tmin=+" ,px, py);
}
}
if(Tm<100)
{ // myGLCD.print(" " ,px+16*6, py);
myGLCD.printNumI(Tm/10, px+16*7, py);
myGLCD.print("," ,px+16*8, py);
myGLCD.printNumI(Tm%10, px+16*9, py);
myGLCD.print("C " ,px+16*10, py);
}
else
{ myGLCD.printNumI(Tm/10, px+16*6, py);
myGLCD.print("," ,px+16*8, py);
myGLCD.printNumI(Tm%10, px+16*9, py);
myGLCD.print("C " ,px+16*10, py);
}
myGLCD.setFont( Ubuntubold);
//**************************************
myGLCD.setFont( Ubuntubold);
}