void win() { char* S1[]={"utleto.raw","dleto.raw","veleto.raw","letorain.raw","utroos.raw","dosen.raw","veosen.raw","osenrain.raw","utyzim.raw","dzima.raw","vzima.raw","utyzimsn.raw","dzima2.raw","new.raw","dvesna.raw","vevesna.raw","vesnarun.raw","dvesnar.raw","dvesnaun.raw","rain.raw"};//19 byte bait; byte bait1; byte q=0; mon1=t.mon; hour1=t.hour; days1=t.date; if ((mon1==12) || (mon1==1) || (mon1==2))//zima { if (hour1<10) {q=8; } if ((hour1>9)&&(hour1<17)) {q=9; } if ((hour1>18)&&(hour1<24)) {q=10; if ((mon1==12)&&(days1>25)) q=13; if ((mon1==1)&&(days1<8)) q=13; } } if (mon1==3)//mart { if (hour1<9) {q=8; } if ((hour1>8)&&(hour1<15)) {q=17; } if ((hour1>14)&&(hour1<19)) {q=18; } if ((hour1>18)&&(hour1<24)) {q=16; } } if ((mon1==4) || (mon1==5)) { if (hour1<9) {q=4; } if ((hour1>8)&&(hour1<19)) {q=14; } if ((hour1>18)&&(hour1<24)) {q=15; if (hu>96) {q=19;} } } if ((mon1==6) || (mon1==7) || (mon1==8))//leto { if (hour1<8) {q=0; } if ((hour1>7)&&(hour1<20)) {q=1; if (hu>90) {q=3;} } if ((hour1>19)&&(hour1<24)) {q=2; if (hu>96) {q=19;} } } if ((mon1==9) || (mon1==10) || (mon1==11))//leto { if (hour1<8) {q=4; } if ((hour1>7)&&(hour1<20)) {q=5; if (hu>90) {q=7;} } if ((hour1>19)&&(hour1<24)) {q=6; if ((hu>96)&&(tu>10)) {q=19;} } } //pressure hu tu sd.chdir("/");//установка раб директории delay (50); sd.chdir("win");//установка раб директории delay (50); //myFiles.loadBitmap(0, 0, 640, 480, S1[q]); //myFiles.loadBitmap(0, 0, 800, 480, "33a.raw"); myFile.open(S1[q], O_READ); int n=0; int m1=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, m1, 640, 1, pic1, 1); m1=m1+1; } } myFile.close(); sd.chdir("/");//установка раб директории delay (50); myGLCD.setFont( SevenSegNumFont); myGLCD.setBackColor( VGA_TRANSPARENT); if (pressure>759) myGLCD.setColor(255,50,50); if (pressure<746) myGLCD.setColor(0,0,255); if ((pressure>745)&&(pressure<760)) myGLCD.setColor(7,120,34); myGLCD.printNumI(pressure,183-24,30+13);// myGLCD.print(":",cx+32+32, cy); // myGLCD.setColor(0,0,255); myGLCD.setFont( Ubuntubold); // myGLCD.print("mm",183-24+22, 30+16+20+24); if (pres[0]>pres[1]) myGLCD.print("*",183-24+35,30+13-30); if (pres[0]759) myGLCD.setColor(255,200,200); if (pres[1]<746) myGLCD.setColor(200,200,255); if ((pres[1]>745)&&(pres[1]<760)) myGLCD.setColor(200,255,200); myGLCD.printNumI(pres[1],183-24+2-8+24,30+16+20+64); if (pres[2]>759) myGLCD.setColor(255,200,200); if (pres[2]<746) myGLCD.setColor(200,200,255); if ((pres[2]>745)&&(pres[2]<760)) myGLCD.setColor(200,255,200); myGLCD.printNumI(pres[2],183-24+2-8+24,30+16+20+100); myGLCD.setFont( Ubuntubold); //*********TEMPUL************************************** // myGLCD.setColor(255,142,21); myGLCD.setBackColor( VGA_TRANSPARENT); if (zn<2) {myGLCD.setColor(0,0,255);//обводка myGLCD.print("-",21-2, 235+15-2); myGLCD.print("-",21+2, 235+15+2); myGLCD.print("-",21-2, 235+15+2); myGLCD.print("-",21+2, 235+15-2); } else { myGLCD.setColor(VGA_RED); myGLCD.print("+",21-2, 235+15-2); myGLCD.print("+",21+2, 235+15+2); myGLCD.print("+",21-2, 235+15+2); myGLCD.print("+",21+2, 235+15-2); } myGLCD.setColor(VGA_RED); //myGLCD.print(",",0+88-2, 235+24-2); // myGLCD.print(",",0+88+2, 235+24+2); myGLCD.print("C",16+88+28-2, 227-2); myGLCD.print("C",16+88+28+2, 227+2); //*********TEMPUL************************************** // myGLCD.setColor(255,142,21); myGLCD.setColor(VGA_WHITE); myGLCD.setBackColor( VGA_TRANSPARENT); if (zn<2) {myGLCD.print("-",21, 235+15); } else {myGLCD.print("+",21, 235+15); } if (tu<10) { myGLCD.setFont( SevenSegNumFont); myGLCD.printNumI(tu,16+24+32-20,235);// myGLCD.print(":",cx+32+32, cy); myGLCD.setFont( Ubuntubold); myGLCD.print(",",16+78-20, 235+24); myGLCD.print("C",16+88+28, 227); myGLCD.printNumI(tud,16+88+10-20,235+50-30); } else { myGLCD.setFont( SevenSegNumFont); myGLCD.printNumI(tu,16+24,235); myGLCD.setFont( Ubuntubold); myGLCD.print(",",16+78, 235+24); myGLCD.print("C",16+88+28, 227); myGLCD.printNumI(tud,16+88+10,235+50-30); } //*********************************************************** int Tm; int Tm1; if (zn<2) {Tm1=-1*tu; } else {Tm1=tu; } if (temul[1]>1000) { Tm=-1*(temul[1]-1000); } else { Tm=temul[1]; } myGLCD.setFont( Ubuntubold); if (Tm/10>Tm1) myGLCD.print("*",24+32+35-18,235+58); if (Tm/10=1000) { Tm=temul[0]-1000; myGLCD.setColor(150,200,255); myGLCD.print("-" ,100-24, 235+90+12); } else { myGLCD.print("+" ,100-24, 235+90+12); Tm=temul[0]; myGLCD.setColor(255,200,200); } if (temul[0]<100) { myGLCD.print("," ,100+24-8, 235+90+12); myGLCD.printNumI(Tm/10,100,235+90+12); myGLCD.printNumI(Tm%10,100+48-15,235+90+12); } else { myGLCD.print("," ,100+48-8, 235+90+12); myGLCD.printNumI(Tm/10,100,235+90+12); myGLCD.printNumI (Tm%10,100+48+24-15,235+90+12); } if (temul[1]>=1000) { Tm=temul[1]-1000; myGLCD.print("-" ,30, 235+60+80+12); } else { myGLCD.print("+" ,30, 235+60+80+12); Tm=temul[1]; } if (temul[1]<100) { myGLCD.print("," ,30+24+24-8, 235+60+80+12); myGLCD.printNumI(Tm/10,30+24,235+60+80+12); myGLCD.printNumI(Tm%10,30+24+48,235+60+80+12); } else { myGLCD.print("," ,30+24+48-8, 235+60+80+12); myGLCD.printNumI(Tm/10,30+24,235+60+80+12); myGLCD.printNumI (Tm%10,30+24+48+24-15,235+60+80+12); } //*********HUG************************************** myGLCD.setColor(129,239,255); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.setFont( Ubuntubold); myGLCD.print("%",255+88, 235+24); myGLCD.setFont( SevenSegNumFont); myGLCD.printNumI(hu,255+24,235); //myGLCD.printNumI(hud,255+88+20,240); myGLCD.setFont( Ubuntubold); if (hug[0]/10>hug[1]/10) myGLCD.print("*",255+24+24,235-27); if (hug[0]/10600) {readmax(); } 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); myGLCD.setBackColor(255,255,255); 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); myGLCD.setBackColor( VGA_TRANSPARENT); myGLCD.print(":" ,px-4+16*2, py+16); if(hh<10) { myGLCD.print("0" ,px, py+16); myGLCD.printNumI(hh, px+16, py+16); } else {myGLCD.printNumI(hh, px, py+16); } //myGLCD.print(":" ,px+16*2, py+16); if(mm<10) { myGLCD.print("0" ,px+16*3-8, py+16); myGLCD.printNumI(mm, px+16*4-8, py+16); } else {myGLCD.printNumI(mm, px+16*3-8, py+16); } // myGLCD.print(" " ,px+16*5, py+16); myGLCD.print("." ,px+16*7-4, py+16); if(d<10) { myGLCD.print("0" ,px+16*5, py+16); myGLCD.printNumI(d, px+16*6, py+16); } else {myGLCD.printNumI(d, px+16*5, py+16); } myGLCD.print("." ,px+16*10-10, py+16); if(m<10) { myGLCD.print("0" ,px+16*8-6, py+16); myGLCD.printNumI(m, px+16*9-6, py+16); } else {myGLCD.printNumI(m, px+16*8-6, py+16); } // myGLCD.print("." ,px+16*11-12, py+16); myGLCD.printNumI(y, px+16*11-14, py+16); //*************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; py=437; px=240; 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.setBackColor( VGA_TRANSPARENT); myGLCD.print(":" ,px-4+16*2, py+16); if(hh<10) { myGLCD.print("0" ,px, py+16); myGLCD.printNumI(hh, px+16, py+16); } else {myGLCD.printNumI(hh, px, py+16); } // myGLCD.print(":" ,px+16*2, py+16); if(mm<10) { myGLCD.print("0" ,px+16*3-8, py+16); myGLCD.printNumI(mm, px+16*4-8, py+16); } else {myGLCD.printNumI(mm, px+16*3-8, py+16); } // myGLCD.print(" " ,px+16*5, py+16); myGLCD.print("." ,px+16*7-4, py+16); if(d<10) { myGLCD.print("0" ,px+16*5, py+16); myGLCD.printNumI(d, px+16*6, py+16); } else {myGLCD.printNumI(d, px+16*5, py+16); } myGLCD.print("." ,px+16*10-10, py+16); if(m<10) { myGLCD.print("0" ,px+16*8-6, py+16); myGLCD.printNumI(m, px+16*9-6, py+16); } else {myGLCD.printNumI(m, px+16*8-6, py+16); } myGLCD.printNumI(y, px+16*11-14, py+16); if(bt==0) { int xb=510;//390 barometr(xb); bt=1; } else {int xtd=510;//512; termdom(xtd); bt=0; } myGLCD.setColor(255, 255, 255); myGLCD.setFont( Ubuntubold); } //*************************************************************************** //**************************************************************************** void readmax() { byte reader[47];//23:00 T=+25,8C Pmm=756 H=25% Tu=+25,6C Hu=75,6% sd.chdir("/"); delay (100); myFile.open("rab.txt", O_READ); // пропускаем ненужные данные в файле rab.txt for (int n =0 ; n < 24; n = n++)// колво строк в файле { for (int i =0 ; i < 47; i = i++) // колво байт в строку { byte b= myFile.read(); } byte b= myFile.read()-48;//возврат коретки 2 байта b= myFile.read()-48; } //************************************************************** //читаем время и температуру максимальную с карты памяти в массив for (int n =0 ; n < 3; n = n+2)// колво строк в файле { for (int i =0 ; i < 26; i = i++) // колво байт в строку { byte b= myFile.read(); if (b<48) {reader[i]=b; } else { b=b-48;//получение цифры из байта reader[i]=b; } } time1[n+24]=reader[0]*10000+reader[1]*1000+reader[3]*100+reader[4]*10+reader[6];//max 16.08. 1 16081 time1[n+1+24]=reader[9]*10000+reader[10]*1000+reader[12]*100+reader[13]*10+reader[7];//12:00 4 12004 if (reader[20]==45) {temul[24+n/2]=reader[21]*100+reader[22]*10+reader[24]+1000; } else {temul[24+n/2]=reader[21]*100+reader[22]*10+reader[24]; } byte b= myFile.read()-48;//возврат коретки 2 байта b= myFile.read()-48; myFile.close(); } }