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.
419 lines
8.6 KiB
419 lines
8.6 KiB
//********************************************************************************
|
|
void menu()
|
|
{
|
|
|
|
|
|
byte bait;
|
|
byte bait1;
|
|
byte bait2;
|
|
byte bait3;
|
|
//long address;
|
|
int i;
|
|
int w;
|
|
int w1;
|
|
int w2;
|
|
int q=0;
|
|
int x,y;
|
|
if( t.hour<7 )
|
|
{night=1;
|
|
}
|
|
else
|
|
{night=0;
|
|
}
|
|
myGLCD.setFont( BigFont);
|
|
|
|
// myGLCD.fillScr(200,200,200);
|
|
sd.chdir("/");
|
|
delay (100);
|
|
//myFiles.loadBitmap(0, 0, 800, 480, "33a.raw");
|
|
myFile.open("33.raw", O_READ);
|
|
|
|
int n=0;
|
|
int m=0;
|
|
for (i =0 ; i < 96000; 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>399){
|
|
n=0;
|
|
// myGLCD.drawBitmap (0, 20*m, 320, 10, pic1, 2);
|
|
// myGLCD.drawBitmap (0, 2*m, 320, 1, pic1, 2);
|
|
myGLCD.drawBitmap (0, 2*m, 400, 1, pic1, 2);
|
|
m=m+1;
|
|
}
|
|
}
|
|
|
|
|
|
// close the file:d
|
|
myFile.close();
|
|
|
|
|
|
// myGLCD.fillScr(VGA_BLUE);
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.setBackColor(0,0,55);
|
|
myGLCD.setFont(BigFont);
|
|
|
|
|
|
|
|
myGLCD.setColor(255, 255, 255);
|
|
|
|
myGLCD.drawBitmap (100, 100, 80, 80, flr);
|
|
myGLCD.drawRoundRect (100, 100, 180, 180);// fl
|
|
|
|
myGLCD.drawBitmap (100, 190, 80, 80, dom1);//******************************
|
|
myGLCD.drawRoundRect (100, 190, 180, 270);// dom1
|
|
|
|
myGLCD.drawBitmap (10, 10, 80, 80, aandelen);
|
|
myGLCD.drawRoundRect (10, 10, 90, 90);// Aandelend
|
|
|
|
myGLCD.drawBitmap (100, 10, 80, 80, clokk);
|
|
myGLCD.drawRoundRect (100, 10, 180, 90);// internet
|
|
|
|
myGLCD.drawBitmap (10, 100, 80, 80,ints);
|
|
myGLCD.drawRoundRect (10, 100, 90, 180); //Radio
|
|
|
|
myGLCD.drawBitmap (10, 190, 80, 80,wer);
|
|
myGLCD.drawRoundRect (10, 190, 90, 270); //Klok
|
|
|
|
|
|
myGLCD.drawBitmap (10, 280, 80, 80, fotos);
|
|
myGLCD.drawRoundRect (10, 280, 90, 360); //Foto
|
|
|
|
myGLCD.drawBitmap (10, 370, 80, 80, instellingen);
|
|
myGLCD.drawRoundRect (10, 370, 90, 450); //Install
|
|
|
|
myGLCD.drawBitmap (639, 370, 160, 80, cl);
|
|
myGLCD.drawRoundRect (639, 370, 799, 450); //Clok
|
|
|
|
myGLCD.drawBitmap (769, 449, 30, 30, jar);
|
|
myGLCD.drawRoundRect (769, 449, 769+30, 449+30);// яркость
|
|
kalend();
|
|
clc();
|
|
c=0;
|
|
|
|
while(1)
|
|
{
|
|
if (myTouch.dataAvailable())
|
|
|
|
{
|
|
myTouch.read();
|
|
x=myTouch.getX();
|
|
y=myTouch.getY();
|
|
|
|
if ((x>=769) && (x<=799)) // Upper row
|
|
{
|
|
|
|
if ((y>=449) && (y<=479)) // яркость
|
|
{
|
|
waitForIt1(769, 449, 799, 479);
|
|
bright();
|
|
menu();
|
|
}
|
|
}
|
|
|
|
if ((x>=100) && (x<=180)) // Upper row
|
|
{
|
|
if ((y>=10) && (y<=90)) // Aandelend
|
|
{waitForIt1(100, 10, 180, 90);
|
|
|
|
intime();
|
|
menu();
|
|
// grafik();
|
|
//paint();
|
|
|
|
}
|
|
|
|
if ((y>=100) && (y<=180)) //Radio
|
|
{waitForIt1(100, 100, 180, 180);
|
|
//radio2();
|
|
flower();
|
|
menu();
|
|
|
|
}
|
|
|
|
if ((y>=190) && (y<=270)) //HOME
|
|
{waitForIt1(100, 190, 180, 270);
|
|
//radio2();
|
|
initial();
|
|
home1();
|
|
menu();
|
|
|
|
}
|
|
}
|
|
|
|
if ((x>=10) && (x<=90)) // Upper row
|
|
{
|
|
|
|
if ((y>=10) && (y<=90)) // Aandelend
|
|
{waitForIt1(10, 10, 90, 90);
|
|
initial();
|
|
grafik();
|
|
//paint();
|
|
|
|
}
|
|
|
|
if ((y>=100) && (y<=180)) //Radio
|
|
{waitForIt1(10, 100, 90, 180);
|
|
//radio2();
|
|
internet();
|
|
menu();
|
|
|
|
}
|
|
|
|
if ((y>=190) && (y<=270)) //(10, 190, 90, 270); //Klok
|
|
{waitForIt1(10, 190, 90, 270);
|
|
initial();
|
|
pogoda();
|
|
|
|
}
|
|
|
|
if ((y>=280) && (y<=360)) //(10, 280, 90, 360); //Foto
|
|
{
|
|
waitForIt1(10, 280, 90, 360);
|
|
initial();
|
|
raw();
|
|
}
|
|
|
|
if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Install
|
|
{waitForIt1(10, 370, 90, 450);
|
|
sdlist();
|
|
menu();
|
|
}
|
|
}
|
|
|
|
|
|
if ((x>=640) && (x<=799)) // Upper row
|
|
{
|
|
|
|
if ((y>=10) && (y<=150)) //(10, 370, 90, 450); //Install
|
|
{
|
|
kalendarset();
|
|
menu();
|
|
}
|
|
|
|
if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok
|
|
{waitForIt1(639, 370, 799, 450);
|
|
vrem();
|
|
clok();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
//*****************************************
|
|
|
|
t = rtc.getTime();
|
|
// sec=t.sec;
|
|
if (raw1==0)
|
|
{raw1=1;
|
|
raw();
|
|
}
|
|
if (t.sec==0)
|
|
{
|
|
delay(800);
|
|
clc();
|
|
}
|
|
if ((t.sec==5) || (t.sec==20) || (t.sec==35)|| (t.sec==50))
|
|
{
|
|
priem();
|
|
}
|
|
if ((t.sec==14) || (t.sec==42) )
|
|
{
|
|
dtu21();
|
|
|
|
bmp085();
|
|
|
|
uart();
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
//*******************************************************************************
|
|
void kalend()
|
|
{
|
|
byte bait;
|
|
byte bait1;
|
|
|
|
//long address;
|
|
|
|
int w;
|
|
int i;
|
|
int q=0;
|
|
// char* S1[]={"fam1.txt","fam.txt","fam2.txt","fam3.txt"};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
myFile.open("Kalendar.raw", O_READ);
|
|
|
|
int n=0;
|
|
int m=0;
|
|
//160*160=25600
|
|
for (i =0 ; i < 25600; 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>159){
|
|
n=0;
|
|
// myGLCD.drawBitmap (0, 20*m, 320, 10, pic1, 2);
|
|
myGLCD.drawBitmap (640, m, 160, 1, pic1, 1);
|
|
m=m+1;
|
|
}
|
|
}
|
|
|
|
|
|
// close the file:
|
|
myFile.close();
|
|
}
|
|
//************************************************************************************
|
|
|
|
void clc()
|
|
{ char* strm[] = {" JAN","FEBR","MARCH","APRIL"," MAY","JUNE","JULY"," AUG","SEPT"," OCT"," NOV"," DEC"};
|
|
int cx=640;
|
|
int cy=383;
|
|
int month1;
|
|
//**********CLOK*******************************************************************************
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.setBackColor(0,38,92);
|
|
myGLCD.setFont( SevenSegNumFont);
|
|
t = rtc.getTime();
|
|
if (t.hour<10)
|
|
{
|
|
myGLCD.printNumI(0,cx, cy);
|
|
myGLCD.printNumI(t.hour, cx+32, cy);
|
|
}
|
|
else
|
|
{
|
|
myGLCD.printNumI(t.hour,cx, cy);
|
|
}
|
|
myGLCD.print(":",cx+64, cy);
|
|
if (t.min<10)
|
|
{
|
|
myGLCD.printNumI(0,cx+96, cy);
|
|
myGLCD.printNumI(t.min, cx+128, cy);
|
|
}
|
|
else
|
|
{
|
|
myGLCD.printNumI(t.min, cx+96, cy);
|
|
}
|
|
myGLCD.setFont( Ubuntubold);
|
|
//myGLCD.setFont(BigFont);
|
|
|
|
myGLCD.setColor(0,0,155);
|
|
myGLCD.setBackColor(255,114,0);
|
|
month1=t.mon;
|
|
myGLCD.print(strm[month1-1], 663, 18);
|
|
|
|
// **********WIFI work ********************************************************************
|
|
if(t.hour>7)
|
|
{
|
|
if (t.min==7)
|
|
{if (fwifi==1)
|
|
{fwifi=0;
|
|
internet();
|
|
}
|
|
}
|
|
if (wifi>0) //если была ошибка подключения
|
|
{if (t.min==23)
|
|
{
|
|
internet();
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
//**************************опрос всех датчиков каждый час и запись всех данных в massiv 23:00 ******************
|
|
if (t.min==0)
|
|
{
|
|
|
|
// printmassiv();
|
|
if (fsec==1)
|
|
{uart();
|
|
bmp085();
|
|
uart();
|
|
savemastd();//запись данных датчиков в рабочий массив
|
|
|
|
digitalWrite(53, LOW);//reset NRF
|
|
delay(100);
|
|
digitalWrite(53, HIGH);
|
|
|
|
fsec=0; //delay (300);
|
|
if(t.hour==23)
|
|
{sdwrite();//запись данных в файлы по месяцам и дням директориии улица и дом Temul i Temdom
|
|
savemasclok();//запись времени на sd 12:56 15/05/14 и массива rab
|
|
saveminmax();//запись макс мин и средних значений датчиков за день
|
|
}
|
|
|
|
if((t.hour>=0)||(t.hour<23))
|
|
{
|
|
savemasclok();//запись времени на sd 12:56 15/05/14 и массива rab
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (t.min>30)
|
|
{fsec=1;
|
|
fwifi=1;
|
|
}
|
|
//*****************************************************************
|
|
|
|
// myGLCD.print(rtc.getDOWStr(FORMAT_SHORT), 256+450, 8);
|
|
myGLCD.setFont( SevenSegNumFont);
|
|
myGLCD.setColor(0,0,155);
|
|
myGLCD.setBackColor(255,255,255);
|
|
if (t.date<10)
|
|
myGLCD.printNumI(t.date, 710, 56);
|
|
else
|
|
myGLCD.printNumI(t.date, 695, 56);
|
|
// myGLCD.setFont(BigFont);
|
|
// myGLCD.setBackColor(180,180,180);
|
|
myGLCD.setFont( Ubuntubold);
|
|
dow= t.dow;
|
|
myGLCD.print(str[dow-1], 690,110);
|
|
/// myGLCD.printNumI(rtc_clock.get_months(), 695, 122);
|
|
myGLCD.setFont(BigFont);
|
|
myGLCD.setBackColor(180,180,180);
|
|
myGLCD.printNumI(t.year, 694, 143);
|
|
|
|
|
|
myGLCD.setBackColor(0,0,55);
|
|
|
|
}
|
|
|
|
void waitForIt1(int x1, int y1, int x2, int y2)
|
|
{
|
|
myGLCD.setColor(255, 232, 13);
|
|
myGLCD.drawRoundRect (x1, y1, x2, y2);
|
|
while (myTouch.dataAvailable())
|
|
myTouch.read();
|
|
myGLCD.setColor(255, 255, 255);
|
|
myGLCD.drawRoundRect (x1, y1, x2, y2);
|
|
}
|
|
|