void prognoz() { char* weat[] = {"weat1.raw","weat2.raw","weat3.raw","weat4.raw","weat5.raw","weat6.raw","weat7.raw","weat8.raw","weat9.raw"}; byte ind=0; dtu21(); bmp085(); //pressure 757 temperature 254= 25,4С uart();//tu tud hu hud volt zn if (t.hour>19 && t.hour<22)//вечер {ind=8; if (hu>83) {ind=4;} if (hu>93) {ind=6;} // ind=8; //weat[i] } if (t.hour<6 || t.hour>21)//ночь {ind=5; if (hu>97) {ind=6;}//weat[i] } if (t.hour>5 && t.hour<8)//заря {ind=7; //weat[i] } if (t.hour>7 && t.hour<20)//день {ind=0; //weat[i] if (ptoday==2) //пасмурно {ind=2; if (hu<50) {ind=1;}//перемен обл } if (ptoday==0) {ind=0;}//ясно if (ptoday==1) {ind=1;}//перемен обл if (hu>83) {ind=2;}//пасмурно if (t.hour>8) {if (hu>95) {ind=3;}//дождь if ((hu>85)&&(ptoday==3)) {ind=3;}//дождь } if ((ptoday==3)&&(hu>83))//проверка прогноза и реальной влажности на дождь {ind=3;}//дождь if ((ptoday==6)&&(hu>83)) {ind=3;}//дождь } byte bait; byte bait1; sd.chdir("/");//установка раб директории delay (100); sd.chdir("weat");//установка раб директории delay (100); //myFiles.loadBitmap(0, 0, 640, 480, weat[ind]); myFile.open(weat[ind], O_READ); int n=0; int m=0; int w; 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(); //******************************************************** sd.chdir("/");//установка раб директории delay (500); //************************************** ***************************** *********************** ********************** ********* myGLCD.setFont( SevenSegNumFont);//myGLCD.setFont(BigFont);Ubuntubold // myGLCD.setColor(255,114,0); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setColor(255,242, 0); myGLCD.printNumI(pressure,280,180-16);// myGLCD.print(":",cx+32+32, cy); myGLCD.setFont( Ubuntubold); myGLCD.print("MM",280+103, 180+20-16); //*********TEMPUL************************************** // myGLCD.setColor(255,142,21); myGLCD.setColor(VGA_WHITE); myGLCD.setBackColor( VGA_TRANSPARENT); if (zn<2) {myGLCD.print("-",270, 260+8-16); } else {myGLCD.print("+",270, 260+8-16); } myGLCD.print(",",270+88, 260+24-16); myGLCD.print("C",270+88+20+32+10, 263-16); myGLCD.setFont( SevenSegNumFont); if (tu<10) { myGLCD.printNumI(tu,270+24+32,260-16);// myGLCD.print(":",cx+32+32, cy); } else {myGLCD.printNumI(tu,270+24,260-16); } myGLCD.printNumI(tud,270+88+20,260-16); //*********HUG************************************** myGLCD.setColor(129,239,255); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setFont( Ubuntubold); myGLCD.print(",",270+88, 340+24-16); myGLCD.print("%",270+88+20+32+10, 340+24-16); myGLCD.setFont( SevenSegNumFont); myGLCD.printNumI(hu,270+24,340-16); myGLCD.printNumI(hud,270+88+20,340-16); //*************tdom******************************* myGLCD.setColor(5,252,46); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setFont( Ubuntubold); myGLCD.print("+",30, 365+8); myGLCD.print(",",30+88, 365+27); myGLCD.print("C",30+88+20+32+10, 365-7); myGLCD.setFont( SevenSegNumFont); myGLCD.printNumI(tdc,30+24,365); //int tem = temperatur; myGLCD.printNumI(tdd,30+88+20,365); //**********************************SUN******************** myGLCD.setColor(220,220,220); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setFont( Ubuntubold); if(ind==1) {myGLCD.setColor(250,100,0); if ((osv9>9)||(osv9==0)) {myGLCD.printNumI(osv9,260+80,35); } else {myGLCD.print("0",260+80, 35); myGLCD.printNumI(osv9,260+80+24, 35); } } if(ind>1) { if ((osv9>9)||(osv9==0)) {myGLCD.printNumI(osv9,260,35); } else {myGLCD.print("0",260, 35); myGLCD.printNumI(osv9,260+24, 35); } } if(ind==0) { myGLCD.setColor(250,100,0); if ((osv9>9)||(osv9==0)) {myGLCD.printNumI(osv9,260+63,50); } else {myGLCD.print("0",260+63, 50); myGLCD.printNumI(osv9,260+24+63, 50); } } //*************Hdom******************************* myGLCD.setColor(57,255,255); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setFont( Ubuntubold); myGLCD.print("%",40+64+24, 425+16); myGLCD.setFont( SevenSegNumFont); // int humidity=35; myGLCD.printNumI(hdc,40+24,425); //**********************************TIME********1400************* int it=0; myGLCD.setColor(220,220,220); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setFont( Ubuntubold); if (time1[it]/100>9) {myGLCD.printNumI(time1[it]/100,50,15); } else {myGLCD.print("0",50, 15); myGLCD.printNumI(time1[it]/100,50+24, 15); } myGLCD.print(":00",50+48, 15); //***************PRES***** myGLCD.setColor(255,242, 0); //myGLCD.setColor(255,114,0); myGLCD.printNumI(pres[it],45-5,70-10); myGLCD.print("mm",45+72-5, 70-10); //******************TERMUL**************** myGLCD.setColor(255,250,250); if (temul[it]<999) { myGLCD.print("+" , 41-5 ,110-5); myGLCD.print("." ,41+48+24-5, 110-5); myGLCD.print("$" ,41+48+24+24+24-5, 110-5); if ((temul[it]<100)&&(temul[it]>9)) { myGLCD.print("0" , 41+24-5 ,110-5); myGLCD.printNumI(temul[it]/10, 41+48-5, 110-5); myGLCD.printNumI(temul[it]%10, 41+48+48-5, 110-5); } if (temul[it]<10) { myGLCD.print("00" ,41+24-5 ,110-5); // myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); myGLCD.printNumI(temul[it]%10, 41+48+48-5, 110-5); } if (temul[it]>99) { myGLCD.printNumI(temul[it]/10, 41+24-5, 110-5); myGLCD.printNumI(temul[it]%10, 41+48+48-5, 110-5); } } else { myGLCD.print("-" ,41-5 ,110-5); myGLCD.print("." ,41+48+24-5, 110-5); myGLCD.print("$" ,41+48+24+24+24-5, 110-5); //myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18); if ((temul[it]-1000<100)&&(temul[it]-1000>9)) { myGLCD.print("0" ,41+24-5 ,110-5); myGLCD.printNumI((temul[it]-1000)/10, 41+48-5, 110-5); myGLCD.printNumI((temul[it]-1000)%10, 41+48+48-5, 110-5); } if (temul[it]-1000<10) { myGLCD.print("00" ,41+24-5 ,110-5); // myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); myGLCD.printNumI((temul[it]-1000)%10, 41+48+48-5, 110-5); } if (temul[it]-1000>99) { myGLCD.printNumI((temul[it]-1000)/10, 41+24-5, 110-5); myGLCD.printNumI((temul[it]-1000)%10, 41+48+48-5, 110-5); } } //*******HUG****************************************************** myGLCD.setColor(57,255,255); myGLCD.printNumI(hug[it]/10, 40+24-5, 150-3); myGLCD.print(". %" ,40+24+48-5, 150-3); myGLCD.printNumI(hug[it]%10, 40+24+48+24-5, 150-3); draw(); printprog(); if (rawp==1) {//delay (1000); return; } while(1) { sec=t.sec; if ((sec==0)||(sec==20)||(sec==40)) { delay(800); clc(); } if ((sec==11) || (sec==42) ) { info(); } if ((sec==55) || (sec==25) ) { 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(); prognoz(); } if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok {waitForIt1(639, 370, 799, 450); readprognoz(); } } }//touch } delay (200); } //********************************************************************* void draw() { myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setColor(255, 255, 255); for (int i=0; i<3; i++)//верт линии 50 { myGLCD.drawLine(505, 170-10+i*90, 505, 225-10+i*90); myGLCD.drawLine(506, 170-10+i*90, 506, 225-10+i*90); myGLCD.drawLine(507, 170-10+i*90, 507, 225-10+i*90); } for (int i=0; i<3; i++)//гориз линии { myGLCD.drawLine(505, 223-10+i*90, 615, 223-10+i*90); myGLCD.drawLine(506, 224-10+i*90, 615, 224-10+i*90); myGLCD.drawLine(507, 225-10+i*90, 615, 225-10+i*90); } for (int i=0; i<3; i++)//шкала по гориз { for (int n=505; n<615; n=n+20) { myGLCD.drawLine(n, 226-10+i*90, n+2, 226-10+i*90); myGLCD.drawLine(n, 227-10+i*90, n+2, 227-10+i*90); myGLCD.drawLine(n, 228-10+i*90, n+2, 228-10+i*90); } } //********************presure*************************** myGLCD.setColor(255,242, 0) ; if (pres[9]>pres[0]) // выбор цвета графика красный- падает, зеленый-растет, желтый-норма { if (pres[9]-pres[0]>2) { myGLCD.setColor(255, 0, 0);//down } else {myGLCD.setColor(255,242, 0) ; } } if (pres[9]2) { myGLCD.setColor(0, 255, 0);//up } else {myGLCD.setColor(255,242, 0) ; } } // рисуем // for (int i=8; i>=0; i=i-2)//давление через 2 часа int ind=8; for (int n=525; n<615; n=n+20) { myGLCD.drawLine(n, 223-10, n,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n+1, 223-10, n+1,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n-1, 223-10, n-1,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n+2, 223-10, n+2,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n-2, 223-10, n-2,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n+3, 223-10, n+3,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n-3, 223-10, n-3,223-10-(pres[ind]-740)*2); myGLCD.drawLine(n+4, 223-10, n+4,223-10-(pres[ind]-740)*2); ind=ind-2; } //********************HUG*************************** myGLCD.setColor(255,242, 0) ; if (hug[3]>hug[0]) // выбор цвета графика красный- падает, зеленый-растет, желтый-норма { if (hug[3]-hug[0]>50) { myGLCD.setColor(255, 0, 0);//down } else {myGLCD.setColor(255,242, 0) ; } } if (hug[3]50) { myGLCD.setColor(0, 255, 0);//up } else {myGLCD.setColor(255,242, 0) ; } } // рисуем // for (int i=8; i>=0; i=i-2)//hug через 1 часа ind=4; for (int n=525; n<615; n=n+20) { myGLCD.drawLine(n, 404-10, n,404-10-(hug[ind]/20)); myGLCD.drawLine(n+1, 404-10, n+1,404-10-(hug[ind]/20)); myGLCD.drawLine(n-1, 404-10, n-1,404-10-(hug[ind]/20)); myGLCD.drawLine(n+2, 404-10, n+2,404-10-(hug[ind]/20)); myGLCD.drawLine(n-2, 404-10, n-2,404-10-(hug[ind]/20)); myGLCD.drawLine(n+3, 404-10, n+3,404-10-(hug[ind]/20)); myGLCD.drawLine(n-3, 404-10, n-3,404-10-(hug[ind]/20)); myGLCD.drawLine(n+4, 404-10, n+4,404-10-(hug[ind]/20)); ind=ind-1; } //***************Tul************************************ int temul1[4]; for (int i=0 ;i<5; i++) { if (temul[i]>1000) {temul1[i]=-1*(temul[i]-1000); } else {temul1[i]=temul[i]; } } int tsr=temul1[0]+temul1[1]+temul1[2]+temul1[3]+temul1[4]; tsr=tsr/5; myGLCD.setColor(255,242, 0) ; if (temul1[3]>temul1[0]) // выбор цвета графика красный- падает, зеленый-растет, желтый-норма { if (temul1[3]-temul1[0]>10) { myGLCD.setColor(255, 0, 0);//down } else {myGLCD.setColor(255,242, 0) ; } } if (temul1[3]10) { myGLCD.setColor(0, 255, 0);//up } else {myGLCD.setColor(255,242, 0) ; } } // рисуем ind=4; int ps; for (int n=525; n<615; n=n+20) { ps=tsr-temul1[ind]; ps=ps/5; myGLCD.drawLine(n, 315-10, n ,285-10+ps); myGLCD.drawLine(n+1, 315-10, n+1 ,285-10+ps); myGLCD.drawLine(n-1, 315-10, n-1 ,285-10+ps); myGLCD.drawLine(n+2, 315-10, n+2 ,285-10+ps); myGLCD.drawLine(n-2, 315-10, n-2 ,285-10+ps); myGLCD.drawLine(n+3, 315-10, n+3 ,285-10+ps); myGLCD.drawLine(n-3, 315-10, n-3 ,285-10+ps); myGLCD.drawLine(n+4, 315-10, n+4 ,285-10+ps); ind=ind-1; } } //********************************************************************************* //********************************************************************************* void printprog() { char* name; sd.chdir("/"); delay (200); sd.chdir("progn"); delay (200); char token[] = "time day=\"??????????"; //const char token[] = "icon=\"???";//