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.
901 lines
27 KiB
901 lines
27 KiB
void flower1()
|
|
|
|
{
|
|
byte bait;
|
|
byte bait1;
|
|
|
|
|
|
myGLCD.setFont( BigFont);
|
|
|
|
// myGLCD.fillScr(200,200,200);
|
|
sd.chdir("/");
|
|
delay (100);
|
|
sd.chdir("weat");//установка раб директории
|
|
delay (100);
|
|
//myFiles.loadBitmap(0, 0, 800, 480, "33a.raw");
|
|
myFile.open("fl1.raw", O_READ);
|
|
|
|
int n=0;
|
|
int m=0;
|
|
for (int i =0 ; i < 307200; i = i++)
|
|
{
|
|
n=n+1;
|
|
bait = myFile.read();
|
|
|
|
bait1 =myFile.read();
|
|
|
|
// w1= (bait - 48) << 4 | (bait1 - 48);
|
|
// w2= (bait2 - 48) << 4 | (bait3 - 48);
|
|
w= bait<<8|bait1;
|
|
|
|
pic1[n]=w;
|
|
//3199
|
|
if (n>639){
|
|
n=0;
|
|
// myGLCD.drawBitmap (0, 20*m, 320, 10, pic1, 2);
|
|
// myGLCD.drawBitmap (0, 2*m, 320, 1, pic1, 2);
|
|
myGLCD.drawBitmap (0, m, 640, 1, pic1, 1);
|
|
m=m+1;
|
|
}
|
|
}
|
|
|
|
|
|
// close the file:d
|
|
myFile.close();
|
|
//**************************************************
|
|
myGLCD.setBackColor(VGA_TRANSPARENT);
|
|
myGLCD.setColor(VGA_RED);
|
|
myGLCD.setFont(Ubuntubold);
|
|
myGLCD.print("+" ,60, 56);
|
|
|
|
myGLCD.setFont(SevenSegNumFont);
|
|
myGLCD.printNumI(tfl ,80, 46);
|
|
|
|
|
|
myGLCD.setColor(VGA_AQUA);
|
|
myGLCD.setFont(Ubuntubold);
|
|
myGLCD.print("%" ,122, 410);
|
|
|
|
myGLCD.setFont(SevenSegNumFont);
|
|
myGLCD.printNumI(vfl ,59, 385);
|
|
|
|
// myGLCD.setFont(Ubuntubold);
|
|
// myGLCD.setColor(VGA_BLUE);
|
|
//myGLCD.printNumI(osv ,440, 43);
|
|
|
|
myGLCD.setFont(BigFont);
|
|
myGLCD.setColor(VGA_BLUE);
|
|
myGLCD.printNumI(dfl ,65, 455);
|
|
myGLCD.print(":00",77+16, 455);
|
|
|
|
//********************************************************
|
|
sd.chdir("/");//установка раб директории
|
|
delay (50);
|
|
//**************************************
|
|
// myGLCD.setColor(0,38,92);
|
|
// myGLCD.fillRoundRect(645, 155, 797, 367);//рисуем синий пр-к
|
|
// myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
// myGLCD.drawRoundRect(645, 155, 797, 367);//прямоугольник с обводкой
|
|
// info();
|
|
// myGLCD.fillScr(VGA_BLUE);
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.setBackColor(0,0,55);
|
|
|
|
|
|
graflawer();
|
|
grafflm();
|
|
|
|
//******************************************************************************************************************************
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
//********************************************************************************************************************
|
|
void graflawer()
|
|
//*******рисуем график *********************************
|
|
{ myGLCD.setColor(0,38,92);
|
|
myGLCD.fillRoundRect(215, 0, 635, 475);//рисуем синий пр-к
|
|
myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
myGLCD.drawRoundRect(215, 0, 635, 475);//прямоугольник с обводкой
|
|
int z=80;
|
|
int s=220;
|
|
myGLCD.setColor(30,55,90);
|
|
myGLCD.fillRoundRect(s+55, 5, s+55+15, 440-z);//рисуем синий пр-к1
|
|
myGLCD.setColor(45,55,105);
|
|
myGLCD.fillRoundRect(s+55+15, 5, s+55+30, 440-z);//рисуем синий пр-к2
|
|
myGLCD.setColor(60,55,110);
|
|
myGLCD.fillRoundRect(s+55+30, 5, s+55+45, 440-z);//рисуем синий пр-к3
|
|
myGLCD.setColor(75,55,115);
|
|
myGLCD.fillRoundRect(s+55+45, 5, s+55+60, 440-z);//рисуем синий пр-к4
|
|
|
|
myGLCD.setColor(82,40,137);
|
|
myGLCD.fillRoundRect(s+55+60,5 , s+55+60+15, 440-z);//рисуем синий пр-к5
|
|
myGLCD.setColor(97,35,139);
|
|
myGLCD.fillRoundRect(s+55+60+15,5 , s+55+60+30, 440-z);//рисуем синий пр-к6
|
|
myGLCD.setColor(125,32,141);
|
|
myGLCD.fillRoundRect(s+55+60+30,5 , s+55+60+45, 440-z);//рисуем синий пр-к7
|
|
myGLCD.setColor(145,27,143);
|
|
myGLCD.fillRoundRect(s+55+60+45,5 , s+55+60+60, 440-z);//рисуем синий пр-к8
|
|
|
|
myGLCD.setColor(163,25,146);
|
|
myGLCD.fillRoundRect(s+55+60+60,5 , s+55+60+60+15, 440-z);//рисуем синий пр-к9
|
|
myGLCD.setColor(173,35,136);
|
|
myGLCD.fillRoundRect(s+55+60+60+15,5 , s+55+60+60+30, 440-z);//рисуем синий пр-к10
|
|
myGLCD.setColor(187,45,120);
|
|
myGLCD.fillRoundRect(s+55+60+60+30,5 , s+55+60+60+45, 440-z);//рисуем синий пр-к11
|
|
myGLCD.setColor(195,55,106);
|
|
myGLCD.fillRoundRect(s+55+60+60+45,5 , s+55+60+60+60, 440-z);//рисуем синий пр-к 12
|
|
|
|
myGLCD.setColor(200,64,97);
|
|
myGLCD.fillRoundRect(s+55+60+60+60,5 , s+55+60+60+60+15, 440-z);//рисуем синий пр-к13
|
|
myGLCD.setColor(195,75,92);
|
|
myGLCD.fillRoundRect(s+55+60+60+60+15,5 , s+55+60+60+60+30, 440-z);//рисуем синий пр-к14
|
|
myGLCD.setColor(190,85,87);
|
|
myGLCD.fillRoundRect(s+55+60+60+60+30,5 , s+55+60+60+60+45, 440-z);//рисуем синий пр-к15
|
|
myGLCD.setColor(180,95,82);
|
|
myGLCD.fillRoundRect(s+55+60+60+60+45,5 , s+55+60+60+60+60, 440-z);//рисуем синий пр-к 16
|
|
|
|
myGLCD.setColor(171,103,76);
|
|
myGLCD.fillRoundRect(s+55+240,5 , s+55+240+15, 440-z);//рисуем синий пр-к 17
|
|
myGLCD.setColor(151,93,86);
|
|
myGLCD.fillRoundRect(s+55+240+15,5 , s+55+240+30, 440-z);//рисуем синий пр-к 18
|
|
myGLCD.setColor(131,83,96);
|
|
myGLCD.fillRoundRect(s+55+240+30,5 , s+55+240+45, 440-z);//рисуем синий пр-к 19
|
|
myGLCD.setColor(101,73,116);
|
|
myGLCD.fillRoundRect(s+55+240+45,5 , s+55+300, 440-z);//рисуем синий пр-к 20
|
|
|
|
|
|
myGLCD.setColor(82,40,137);
|
|
myGLCD.fillRoundRect(s+55+300,5 , s+55+315, 440-z);//рисуем синий пр-к 21
|
|
myGLCD.setColor(60,55,110);
|
|
myGLCD.fillRoundRect(s+55+315,5 , s+55+330, 440-z);//рисуем синий пр-к 22
|
|
myGLCD.setColor(30,55,90);
|
|
myGLCD.fillRoundRect(s+55+330,5 , s+55+345, 440-z);//рисуем синий пр-к 23
|
|
|
|
|
|
|
|
|
|
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.setFont(BigFont);
|
|
myGLCD.drawLine(s+55, 10, s+55, 450-z);// ось у
|
|
myGLCD.drawLine(s+400, 10, s+400, 440-z);//ось у давление
|
|
myGLCD.drawLine(s+55, 90+180-z, s+400, 90+180-z);// ось х темп
|
|
myGLCD.drawLine(s+55, 440-z, s+400, 440-z);//ось х влажность
|
|
|
|
|
|
myGLCD.setColor(35,173,255);
|
|
//myGLCD.drawLine(s+55, 270-80, s+400, 270-80);// ось 0
|
|
myGLCD.setColor(200,64,97);
|
|
myGLCD.drawLine(s+55, 270-200, s+400, 70);// ось 30
|
|
myGLCD.drawLine(s+55, 270-220, s+400, 50);// ось 35
|
|
myGLCD.drawLine(s+55, 440-30-z, s+400, 440-30-z);// ось 30
|
|
myGLCD.drawLine(s+55, 440-15-z, s+400, 440-15-z);// ось 30
|
|
myGLCD.setColor(45,112,56);
|
|
myGLCD.drawLine(s+55, 270-180, s+400, 270-180);// ось 25
|
|
myGLCD.drawLine(s+55, 270-160, s+400, 270-160);// ось 20
|
|
myGLCD.drawLine(s+55, 270-120, s+400, 270-120);// ось 10
|
|
myGLCD.drawLine(s+55, 270-100, s+400, 270-100);// ось 5
|
|
myGLCD.drawLine(s+55, 270-140, s+400, 270-140);// ось 15
|
|
myGLCD.drawLine(s+55, 440-105-z, s+400, 440-105-z);// ось 70
|
|
myGLCD.drawLine(s+55, 440-90-z, s+400, 440-90-z);// ось 60
|
|
myGLCD.drawLine(s+55, 440-75-z, s+400, 440-75-z);// ось 50
|
|
myGLCD.drawLine(s+55, 440-60-z, s+400, 440-60-z);// ось 40
|
|
myGLCD.drawLine(s+55, 440-45-z, s+400, 440-45-z);// ось 30
|
|
myGLCD.setColor(0,38,92);
|
|
// myGLCD.drawLine(s+55, 270-60, s+400, 270-60);// ось -5
|
|
// myGLCD.drawLine(s+55, 270-40, s+400, 270-40);// ось -10
|
|
// myGLCD.drawLine(s+55, 270-20, s+400, 270-20);// ось -15
|
|
myGLCD.drawLine(s+55, 440-135-z, s+400, 440-135-z);// ось 90
|
|
myGLCD.drawLine(s+55, 440-120-z, s+400, 440-120-z);// ось 80
|
|
myGLCD.setColor(255,75,29);
|
|
myGLCD.drawLine(s+55, 270-240, s+400, 270-240);// ось 40
|
|
myGLCD.drawLine(s+55, 270-260, s+400, 270-260);// ось 45
|
|
|
|
|
|
byte k=0;
|
|
myGLCD.setColor(VGA_WHITE);
|
|
for (int i =80 ; i < 270; i = i+4) //температура шкала цифры
|
|
{
|
|
myGLCD.drawLine(s+55, 90+180-i, s+52, 90+180-i);
|
|
myGLCD.drawLine(s+400, 90+180-i, s+403, 90+180-i);
|
|
k=k+1;
|
|
if((k==6)||(k==1))//верт метки tu td
|
|
{
|
|
if ((i/4-20)>29)
|
|
{myGLCD.setColor(255,62,62);
|
|
myGLCD.printNumI(i/4-20, s+5, 90+180-8-i);
|
|
}
|
|
if ((i/4-20)>0 && (i/4-20)<30)
|
|
{myGLCD.setColor(10,255,60);
|
|
myGLCD.printNumI(i/4-20, s+5, 90+180-8-i);
|
|
}
|
|
|
|
if ((i/4-20)<1)
|
|
{myGLCD.setColor(35,173,255);
|
|
myGLCD.printNumI(i/4-20, s+5, 90+180-8-i);
|
|
}
|
|
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.drawLine(s+55, 90+180-i, s+55-9, 90+180-i);
|
|
myGLCD.drawLine(s+400, 90+180-i, s+400+9, 90+180-i);
|
|
k=1;}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
k=0;
|
|
myGLCD.setColor(VGA_WHITE);
|
|
for (int i =0 ; i < 150; i = i+3) //влажность
|
|
{ //myGLCD.drawLine(55, 440, 400, 440);//ось х давление
|
|
//myGLCD.drawLine(55, 10, 55, 450);// ось у
|
|
myGLCD.drawLine(s+55, 440-i-z, s+52, 440-i-z);
|
|
k=k+1;
|
|
|
|
if((k==6)||(k==1))//верт метки tu td
|
|
{
|
|
if (i>119)
|
|
{myGLCD.setColor(35,173,255);
|
|
myGLCD.printNumI(i*2/3, s+5, 440-8-i-z);
|
|
}
|
|
if (i>31 && i<119)
|
|
{myGLCD.setColor(10,255,60);
|
|
myGLCD.printNumI(i*2/3, s+5, 440-8-i-z);
|
|
}
|
|
|
|
if (i<31)
|
|
{myGLCD.setColor(255,255,0);
|
|
myGLCD.printNumI(i*2/3, s+5, 440-8-i-z);
|
|
}
|
|
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.drawLine(s+55, 440-i-z, s+55-9, 440-i-z);
|
|
k=1;}
|
|
|
|
}
|
|
//*************************************
|
|
// int z=80;
|
|
k=0;
|
|
for (int i =0 ; i < 360; i = i+11) //гориз метки и шкала days
|
|
{
|
|
//for (byte n =0 ; n < 5; n = n++)
|
|
myGLCD.drawLine(s+55+i, 90+180-z, s+55+i, 90+180-z+5);
|
|
myGLCD.drawLine(s+55+i, 440-z, s+55+i, 440+5-z);
|
|
|
|
|
|
k=k+1;
|
|
if((k==6)||(k==1))
|
|
{myGLCD.printNumI(i/11, s+55+i-12, 90+180+10-z);
|
|
myGLCD.printNumI(i/11, s+55+i-12, 440+10-z);
|
|
myGLCD.drawLine(s+55+i, 90+180-z, s+55+i, 90+180+9-z);
|
|
myGLCD.drawLine(s+55+i, 440-z, s+55+i, 440+9-z);
|
|
k=1;}
|
|
}
|
|
myGLCD.setBackColor( VGA_TRANSPARENT);
|
|
myGLCD.setColor(255,62,62);
|
|
myGLCD.print("T C" ,s+59, 10);
|
|
myGLCD.print("T C" ,s+61, 10);
|
|
myGLCD.print("T C" ,s+60, 11);
|
|
myGLCD.print("T C" ,s+60, 9);
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.print("T C" ,s+60, 10);
|
|
|
|
|
|
|
|
// myGLCD.setColor(10,255,60);
|
|
// myGLCD.print("750" ,352, 250-8);
|
|
// myGLCD.print("755" ,352, 230-8);
|
|
// myGLCD.print("760" ,352, 210-8);
|
|
// myGLCD.print("765" ,352, 190-8);
|
|
// myGLCD.print("770" ,352, 170-8);
|
|
// myGLCD.setColor(0,38,92);
|
|
// myGLCD.print("Pmm" ,353, 170-35);
|
|
// myGLCD.print("Pmm" ,351, 170-35);
|
|
// myGLCD.print("Pmm" ,352, 171-35);
|
|
// myGLCD.print("Pmm" ,352, 169-35);
|
|
// myGLCD.setColor(VGA_WHITE);
|
|
// myGLCD.print("Pmm" ,352, 170-35);
|
|
|
|
myGLCD.setColor(35,173,255);
|
|
myGLCD.print("H%" ,s+61, 290-z);
|
|
myGLCD.print("H%" ,s+59, 290-z);
|
|
myGLCD.print("H%" ,s+60, 291-z);
|
|
myGLCD.print("H%" ,s+60, 289-z);
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.print("H%" ,s+60, 290-z);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
//***************************************************************
|
|
void grafflm()
|
|
{
|
|
boolean datm=1;
|
|
boolean daty=1;
|
|
int m=t.mon;//месяц
|
|
int ye=t.year; //год
|
|
// knopki******************************
|
|
byte dat16=0;//16:00 date yes or no
|
|
|
|
myGLCD.setFont( Ubuntubold);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255, 255, 0);//цвет
|
|
myGLCD.print("M" ,235, 395);//выделение месяца цветом 440 203
|
|
|
|
// myGLCD.setBackColor(8,101,192);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255, 255, 0);//цвет 440 243
|
|
myGLCD.print("Y" ,235, 435);
|
|
|
|
myGLCD.setColor(0,38,92);
|
|
myGLCD.fillRoundRect(275, 391, 400, 434-5);//рисуем синий пр-к M
|
|
myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
myGLCD.drawRoundRect(275, 391, 400, 434-5);//прямоугольник с обводкой
|
|
|
|
myGLCD.setColor(0,38,92);
|
|
myGLCD.fillRoundRect(275, 431, 400, 474-5);//рисуем синий пр-к Y
|
|
myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
myGLCD.drawRoundRect(275, 431, 400, 474-5);//прямоугольник с обводкой
|
|
myGLCD.setBackColor(0,38,92);
|
|
|
|
if (mon1<10)
|
|
{myGLCD.print("0" ,312, 395);
|
|
myGLCD.printNumI(m, 312+24, 395);
|
|
}
|
|
else
|
|
myGLCD.printNumI(m, 312, 395);
|
|
|
|
myGLCD.printNumI(ye, 292, 435);
|
|
|
|
myGLCD.setColor(31,70,126);
|
|
myGLCD.print("<" ,312-32, 395);
|
|
myGLCD.print(">" ,312+63, 395);
|
|
|
|
myGLCD.setColor(0,38,92);
|
|
myGLCD.fillRoundRect(430, 391, 500, 434-5);//рисуем синий пр-к RS
|
|
myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
myGLCD.drawRoundRect(430, 391, 500, 434-5);//прямоугольник с обводкой
|
|
|
|
myGLCD.setColor(0,38,92);
|
|
myGLCD.fillRoundRect(520, 391, 590, 434-5);//прямоугольник с обводкой OK
|
|
myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
myGLCD.drawRoundRect(520, 391, 590, 434-5);//прямоугольник с обводкой OK
|
|
|
|
myGLCD.setColor(0,38,92);
|
|
myGLCD.drawRoundRect(430, 431, 590, 474-5);//прямоугольник с обводкой OK
|
|
myGLCD.setColor(255, 255, 255);//цвет обводки
|
|
myGLCD.drawRoundRect(430, 431, 590, 474-5);//прямоугольник с обводкой OK
|
|
|
|
myGLCD.setColor(255, 255, 255);//цвет
|
|
|
|
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.print("RS" ,440, 395);
|
|
myGLCD.print("OK" ,530, 395);
|
|
myGLCD.setColor(255, 97, 237);//цвет
|
|
myGLCD.print("QUIT" ,460, 435);
|
|
myGLCD.setColor(255, 255, 255);//цвет
|
|
|
|
|
|
//******************************************************************
|
|
graff:
|
|
|
|
byte dm=31;// макс день месяца
|
|
if (m==2)
|
|
dm=28;
|
|
|
|
if ((m==4)||(m==6)||(m==9)||(m==11))
|
|
dm=30;
|
|
|
|
if(ye==t.year)//проверка на наличае данных
|
|
{if(m==t.mon)
|
|
{ dm=t.date-1;
|
|
}
|
|
}
|
|
//*************************GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG*******************************************************
|
|
word work[31]={100,250,250,244,245,246,240,248,249,245,250,249,250,250,250,244,245,246,250,248,250,250,250,249,250,250,250,250,250,250,249};
|
|
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;
|
|
|
|
sd.chdir("/");
|
|
delay (100);
|
|
sd.chdir("flower");//23:00 T=+27,8C Hu=33,2%
|
|
delay (100);
|
|
name= stry[ye-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);
|
|
|
|
|
|
|
|
|
|
//*************************************************************************
|
|
myFile.open("poliv.txt", O_READ);
|
|
char s;
|
|
char token[] = "date:";
|
|
char token1[] = "16:00";
|
|
int n1=0;
|
|
int p=0;
|
|
int j=0;
|
|
int w=0;
|
|
for (int d=0; d<dm ;d++){
|
|
p=0;
|
|
j=0;
|
|
n1=0;
|
|
while (j<165) {
|
|
|
|
if (p==0){s = myFile.read();}
|
|
if (s == token[n1])
|
|
{s = myFile.read();
|
|
n1++;
|
|
p=1;
|
|
}
|
|
else
|
|
{p=0;
|
|
n1=0;
|
|
}
|
|
j++;
|
|
if (n1==5){
|
|
//s=myFile.read();//пробел
|
|
w=10*(myFile.read()-48);//десятки даты
|
|
|
|
w=w+(myFile.read()-48);//единицы даты
|
|
|
|
|
|
j=167;
|
|
}
|
|
|
|
}
|
|
p=0;
|
|
j=0;
|
|
n1=0;
|
|
while (j<165) {
|
|
|
|
if (p==0){s = myFile.read();}
|
|
if (s == token1[n1])
|
|
{s = myFile.read();
|
|
n1++;
|
|
p=1;
|
|
}
|
|
else
|
|
{p=0;
|
|
n1=0;
|
|
}
|
|
j++;
|
|
if (n1==5){
|
|
dat16=1;
|
|
for (j=0; j<8 ;j++)
|
|
{ s=myFile.read();//пропуск 9 символов
|
|
//delay(10);
|
|
}
|
|
work[w-1]=10*(myFile.read()-48);//десятки t
|
|
// myGLCD.printNumI( work[w-1], 312-24, 10);
|
|
work[w-1]=work[w-1]+(myFile.read()-48);//единицы t
|
|
// myGLCD.printNumI( work[w-1], 312+48, 10);
|
|
work[w-1]=work[w-1]*10;
|
|
j=167;
|
|
}
|
|
|
|
}//while
|
|
if (dat16==0)
|
|
{
|
|
if (w>1){ work[w-1]=work[w-2];}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
myFile.close();
|
|
|
|
delay (100);
|
|
|
|
myGLCD.setColor(255, 0, 0);
|
|
int y1;
|
|
int y2;
|
|
//****************Рисуем графики T***************************
|
|
|
|
// цвет графиа
|
|
if(colorgraf>3)
|
|
colorgraf=0;
|
|
if(colorgraf==0)//выбор цвета графика
|
|
myGLCD.setColor(VGA_WHITE);
|
|
if(colorgraf==1)
|
|
myGLCD.setColor(35,173,255);
|
|
if(colorgraf==2)
|
|
myGLCD.setColor(255, 255, 0);
|
|
if(colorgraf==3)
|
|
myGLCD.setColor(10,255,60);
|
|
for ( byte x =1 ; x < dm; x = x+1) //****************темп дома постр графика
|
|
{
|
|
y1=190-(work[x-1]*4/10);
|
|
y2=190-(work[x]*4/10);
|
|
myGLCD.drawLine(275+x*11, y1, 275+11*(x+1), y2);
|
|
myGLCD.drawLine(275+x*11, y1-1, 275+11*(x+1), y2-1);
|
|
|
|
}
|
|
//********************************************************************************
|
|
//****************************влажность
|
|
strm = {"JAN","FEBR","MARCH","APRIL","MAY","JUNE","JULY","AUG","SEPT","OCT","NOV","DEC"};
|
|
stry = {"2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035"};
|
|
|
|
sd.chdir("/");
|
|
delay (100);
|
|
sd.chdir("flower");//23:00 T=+27,8C Hu=33,2%
|
|
delay (100);
|
|
// name= stry[years1-2014];
|
|
name= stry[ye-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);
|
|
|
|
|
|
|
|
|
|
|
|
myFile.open("poliv.txt", O_READ);
|
|
w=0;
|
|
for (int d=0; d<dm ;d++){
|
|
p=0;
|
|
j=0;
|
|
n1=0;
|
|
|
|
while (j<165) {
|
|
|
|
if (p==0){s = myFile.read();}
|
|
if (s == token[n1])
|
|
{s = myFile.read();
|
|
n1++;
|
|
p=1;
|
|
}
|
|
else
|
|
{p=0;
|
|
n1=0;
|
|
}
|
|
j++;
|
|
if (n1==5){
|
|
//s=myFile.read();//пробел
|
|
|
|
w=10*(myFile.read()-48);//десятки даты
|
|
|
|
|
|
w=w+(myFile.read()-48);//единицы даты
|
|
|
|
|
|
j=167;
|
|
}
|
|
|
|
}
|
|
p=0;
|
|
j=0;
|
|
n1=0;
|
|
dat16=0;
|
|
while (j<165) {
|
|
|
|
if (p==0){s = myFile.read();}
|
|
if (s == token1[n1])
|
|
{s = myFile.read();
|
|
n1++;
|
|
p=1;
|
|
}
|
|
else
|
|
{p=0;
|
|
n1=0;
|
|
}
|
|
j++;
|
|
if (n1==5){
|
|
dat16=1;
|
|
s=myFile.read();//пропуск
|
|
s=myFile.read();//пропуск
|
|
s=myFile.read();//пропуск
|
|
|
|
work[w-1]=10*(myFile.read()-48);//десятки t
|
|
// myGLCD.printNumI( work[w-1], 312-24, 250);
|
|
work[w-1]=work[w-1]+(myFile.read()-48);//единицы t
|
|
// myGLCD.printNumI( work[w-1], 312+48, 250);
|
|
work[w-1]=work[w-1]*10;
|
|
j=167;
|
|
}
|
|
|
|
}
|
|
|
|
if (dat16==0)
|
|
{
|
|
if (w>1){ work[w-1]=work[w-2];}
|
|
}
|
|
|
|
}
|
|
|
|
myFile.close();
|
|
|
|
|
|
for ( byte x =1 ; x < dm; x = x+1) //******************************************влажность ул постр графика
|
|
{
|
|
y1=360-(work[x-1]*15/100);
|
|
y2=360-(work[x]*15/100);
|
|
myGLCD.drawLine(275+x*11, y1, 275+11*(x+1), y2);
|
|
myGLCD.drawLine(275+x*11, y1-1, 275+11*(x+1), y2-1);
|
|
}
|
|
delay (100);
|
|
sd.chdir("/");
|
|
//****************************************************************************
|
|
while(1)
|
|
{
|
|
sec=t.sec;
|
|
|
|
if ((sec==0)||(sec==20)||(sec==40))
|
|
{
|
|
delay(800);
|
|
clc();
|
|
}
|
|
|
|
if ((sec==11) || (sec==45) )
|
|
{
|
|
|
|
info();
|
|
}
|
|
|
|
|
|
|
|
//*********************************TOUCH********************************
|
|
if (myTouch.dataAvailable())
|
|
|
|
{
|
|
myTouch.read();
|
|
int x=myTouch.getX();
|
|
int y=myTouch.getY();
|
|
|
|
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();
|
|
flower1();
|
|
}
|
|
|
|
if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok
|
|
{waitForIt1(639, 370, 799, 450);
|
|
menu();
|
|
}
|
|
|
|
}
|
|
|
|
if ((y>=400) && (y<=430)) //
|
|
{
|
|
if ((x>=280) && (x<=300))//<M
|
|
{datm=1;
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
|
|
|
|
myGLCD.print("<" ,312-32, 395);
|
|
//myGLCD.print(">" ,312+63, 395);
|
|
|
|
myGLCD.setColor(255,255,255);
|
|
m=m-1;
|
|
if (m==0)
|
|
m=12;
|
|
if(ye==t.year)
|
|
{if(m>t.mon)
|
|
{myGLCD.setColor(255,0,0);
|
|
datm=0;
|
|
}
|
|
}
|
|
if(ye<2016)
|
|
{if(m<9)
|
|
{myGLCD.setColor(255,0,0);
|
|
datm=0;
|
|
}
|
|
}
|
|
myGLCD.setBackColor(0,38,92);
|
|
if (m<10)
|
|
{myGLCD.print("0" ,312, 395);
|
|
myGLCD.printNumI(m, 312+24, 395);
|
|
}
|
|
else
|
|
myGLCD.printNumI(m, 312, 395);
|
|
delay (300);
|
|
myGLCD.setColor(31,70,126);
|
|
myGLCD.print("<" ,312-32, 395);
|
|
|
|
}
|
|
|
|
if ((x>=370) && (x<=390))//>M
|
|
{datm=1;
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
|
|
|
|
//myGLCD.print("<" ,312-32, 395);
|
|
myGLCD.print(">" ,312+63, 395);
|
|
|
|
myGLCD.setColor(255,255,255);
|
|
m=m+1;
|
|
if (m==13)
|
|
m=1;
|
|
if(ye==t.year)
|
|
{if(m>t.mon)
|
|
{myGLCD.setColor(255,0,0);
|
|
datm=0;
|
|
}
|
|
}
|
|
if(ye<2016)
|
|
{if(m<9)
|
|
{myGLCD.setColor(255,0,0);
|
|
datm=0;
|
|
}
|
|
}
|
|
myGLCD.setBackColor(0,38,92);
|
|
if (m<10)
|
|
{myGLCD.print("0" ,312, 395);
|
|
myGLCD.printNumI(m, 312+24, 395);
|
|
}
|
|
else
|
|
myGLCD.printNumI(m, 312, 395);
|
|
delay (300);
|
|
myGLCD.setColor(31,70,126);
|
|
myGLCD.print(">" ,312+63, 395);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ((x>=435) && (x<=500))//RS
|
|
{myGLCD.setBackColor(0,38,92);
|
|
if(daty+datm==2)
|
|
{myGLCD.setColor(0,255,0);
|
|
myGLCD.print("RS" ,440, 395);
|
|
//GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
|
|
delay(300);
|
|
myGLCD.setFont( Ubuntubold);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255,255,255);
|
|
myGLCD.print("RS" ,440, 395);
|
|
graflawer();
|
|
grafflm();
|
|
}
|
|
else
|
|
{myGLCD.setColor(255,0,0);
|
|
myGLCD.print("RS" ,440, 395);
|
|
}
|
|
delay(300);
|
|
myGLCD.setFont( Ubuntubold);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255,255,255);
|
|
myGLCD.print("RS" ,440, 395);
|
|
|
|
}
|
|
|
|
|
|
if ((x>=525) && (x<=590))//OK
|
|
{myGLCD.setBackColor(0,38,92);
|
|
if(daty+datm==2)
|
|
{myGLCD.setColor(0,255,0);
|
|
myGLCD.print("OK" ,530, 395);
|
|
delay(300);
|
|
colorgraf++;
|
|
myGLCD.setFont( Ubuntubold);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255,255,255);
|
|
myGLCD.print("OK" ,530, 395);
|
|
goto graff;
|
|
}
|
|
//*******GGGGGGGGGGGGGGGGGGGGGGGGG
|
|
|
|
|
|
else
|
|
{myGLCD.setColor(255,0,0);
|
|
myGLCD.print("OK" ,530, 395);
|
|
}
|
|
delay(300);
|
|
myGLCD.setFont( Ubuntubold);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255,255,255);
|
|
myGLCD.print("OK" ,530, 395);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ((y>=440) && (y<=470)) //
|
|
{
|
|
if ((x>=280) && (x<=300))//<Y
|
|
{daty=1;
|
|
ye=ye-1;
|
|
if(ye<2015)
|
|
ye=2015;
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255,255,255);
|
|
if((ye<2015) || (ye>t.year))
|
|
{ myGLCD.setColor(255,0,0);
|
|
daty=0;
|
|
}
|
|
myGLCD.printNumI(ye, 292, 435);
|
|
delay(300);
|
|
}
|
|
|
|
|
|
|
|
if ((x>=370) && (x<=390))//>Y
|
|
{daty=1;
|
|
ye=ye+1;
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(255,255,255);
|
|
if((ye<2015) || (ye>t.year))
|
|
{ myGLCD.setColor(255,0,0);
|
|
daty=0;
|
|
}
|
|
myGLCD.printNumI(ye, 292, 435);
|
|
delay(300);
|
|
}
|
|
|
|
if ((x>=435) && (x<=590))//QUIT
|
|
{myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setColor(59, 251, 104);//цвет
|
|
myGLCD.print("QUIT" ,460, 435);
|
|
delay(500);
|
|
flower();
|
|
}
|
|
|
|
}
|
|
|
|
}//touch
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|