#include "interface.h" #include "bmp.h" #include "keyboard.h" #include "tt808.h" #include "usart.h" #include "key.h" /** * @breaf 本页定义变量 */ //结构体 Menu_table menu; TipsFlag tipsflag; extern LockInfo lockinfo; //布尔 bool refresh=false; bool ReturnInterface = false; //字符串 //方法 void logoDisplay(void); void lockWork(void);//界面1 一键施解封 void ApplyPermission(void);//界面2 申请权限 void PleaseWakeUp(void);//界面3 请唤醒 void SecondMain(void);//次主界面 void MACbindDisplay(void);//界面4 /** * @breaf 界面跳转 */ void Jump_interface(void) { if(refresh) { OLED_Clear(); refresh=false; } switch(menu.current) { case 0: { logoDisplay();//无任何绑定,显示Logo界面 //lockWork(); //ApplyPermission(); //PleaseWakeUp(); //SecondMain(); break; } case 1: { lockWork(); break; } case 2: { ApplyPermission(); break; } case 3: { PleaseWakeUp(); break; } case 4: { MACbindDisplay(); break; } } } void MACbindDisplay(void) { if(menu.down<4) { OLED_ShowString(5,0,(unsigned char*)lockinfo.SN1name,16,1); OLED_ShowString(5,15,(unsigned char*)lockinfo.SN2name,16,1); OLED_ShowString(5,30,(unsigned char*)lockinfo.SN3name,16,1); OLED_ShowString(5,45,(unsigned char*)lockinfo.SN4name,16,1); if(menu.down==0) OLED_ShowString(5,0,(unsigned char*)lockinfo.SN1name,16,0); if(menu.down==1) OLED_ShowString(5,15,(unsigned char*)lockinfo.SN2name,16,0); if(menu.down==2) OLED_ShowString(5,30,(unsigned char*)lockinfo.SN3name,16,0); if(menu.down==3) OLED_ShowString(5,45,(unsigned char*)lockinfo.SN4name,16,0); OLED_ShowString(110,45,(unsigned char*)"1/2",12,1); } else { OLED_ShowString(5,0,(unsigned char*)lockinfo.SN5name,16,1); OLED_ShowString(5,15,(unsigned char*)lockinfo.SN6name,16,1); OLED_ShowString(5,30,(unsigned char*)lockinfo.SN7name,16,1); OLED_ShowString(5,45,(unsigned char*)lockinfo.SN8name,16,1); if(menu.down==4) OLED_ShowString(5,0,(unsigned char*)lockinfo.SN5name,16,0); if(menu.down==5) OLED_ShowString(5,15,(unsigned char*)lockinfo.SN6name,16,0); if(menu.down==6) OLED_ShowString(5,30,(unsigned char*)lockinfo.SN7name,16,0); if(menu.down==7) OLED_ShowString(5,45,(unsigned char*)lockinfo.SN8name,16,0); OLED_ShowString(110,45,(unsigned char*)"2/2",12,1); } } void logoDisplay(void)//界面1 { if(!MgnssFlag) { OLED_ShowString(20,10,(unsigned char*)"System Staring...",12,0); } else { OLED_ShowPicture(0,0,128,64,BMP7,1); } } void lockWork(void) //界面2 { char count[6]; // 数字1转换为字符串形式最多需要2个字符,再加上终止符'\0'共6个字符的空间 sprintf(count, "%u", macsetptr->macCount); OLED_ShowChinese(18,2,56,16,1);//一 OLED_ShowChinese(38,2,57,16,1);//键 OLED_ShowChinese(58,2,18,16,1);//解 OLED_ShowChinese(78,2,19,16,1);//封 OLED_ShowChinese(18,25,56,16,1);//一 OLED_ShowChinese(38,25,57,16,1);//键 OLED_ShowChinese(58,25,17,16,1);//施 OLED_ShowChinese(78,25,19,16,1);//封 OLED_ShowChinese(25,48,26,12,1);//已 OLED_ShowChinese(40,48,27,12,1);//绑 OLED_ShowChinese(55,48,28,12,1);//定 OLED_ShowChinese(70,48,29,12,1);//锁 OLED_ShowString(85,48,(unsigned char*)"(",12,1); OLED_ShowString(94,48,(unsigned char*)count,12,1); OLED_ShowString(100,48,(unsigned char*)")",12,1); //*选择 if(menu.down==0) { OLED_ShowString(100,2,(unsigned char*)"<<-",12,0); } else if(menu.down==1) { OLED_ShowString(100,25,(unsigned char*)"<<-",12,0); } else if(menu.down==2) { OLED_ShowString(110,48,(unsigned char*)"<<-",12,0); } } void ApplyPermission(void)//界面2 申请权限 { char count[6]; // 数字1转换为字符串形式最多需要2个字符,再加上终止符'\0'共6个字符的空间 sprintf(count, "%u", macsetptr->macCount); OLED_ShowChinese(5,20,58,16,1);//正 OLED_ShowChinese(25,20,59,16,1);//在 OLED_ShowChinese(45,20,60,16,1);//申 OLED_ShowChinese(65,20,61,16,1);//请 OLED_ShowChinese(85,20,62,16,1);//权 OLED_ShowChinese(105,20,63,16,1);//限 OLED_ShowString(10,48,(unsigned char*)">",12,1); OLED_ShowString(25,48,(unsigned char*)count,12,1); if(reAuth) { OLED_ShowString(60,48,(unsigned char*)"->>",12,1); OLED_ShowString(80,48,(unsigned char*)"Success",12,1); } } void PleaseWakeUp(void)//界面3 请唤醒 { char workedCount[6]; // 数字1转换为字符串形式最多需要2个字符,再加上终止符'\0'共6个字符的空间 sprintf(workedCount, "%u", macsetptr->macWorked); OLED_ShowChinese(5,20,64,16,1); //请 OLED_ShowChinese(25,20,65,16,1); //唤 OLED_ShowChinese(45,20,66,16,1); //醒 OLED_ShowChinese(65,20,67,16,1); //蓝 OLED_ShowChinese(85,20,68,16,1); //牙 OLED_ShowChinese(105,20,69,16,1);//锁 OLED_ShowChinese(25,48,26,12,1);//已 OLED_ShowChinese(40,48,30,12,1);//操 OLED_ShowChinese(55,48,31,12,1);//作 OLED_ShowChinese(70,48,29,12,1);//锁 OLED_ShowString(85,48,(unsigned char*)"(",12,1); OLED_ShowString(94,48,(unsigned char*)workedCount,12,1); OLED_ShowString(100,48,(unsigned char*)")",12,1); } void SecondMain(void)//次主界面 { //*个数显示 OLED_ShowString(90,25,(unsigned char*)":",16,1); //*解封 // OLED_ShowChinese(8,25,18,16,1);//解 // OLED_ShowChinese(28,25,19,16,1);//封 // OLED_ShowChinese(48,25,69,16,1);//锁 // OLED_ShowChinese(68,25,70,16,1);//数 // OLED_ShowString(105,26,(unsigned char*)"8",16,1); //*施封 // OLED_ShowChinese(8,25,17,16,1);//施 // OLED_ShowChinese(28,25,19,16,1);//封 // OLED_ShowChinese(48,25,69,16,1);//锁 // OLED_ShowChinese(68,25,70,16,1);//数 // OLED_ShowString(105,26,(unsigned char*)"8",16,1); //*所有锁已 OLED_ShowChinese(5,25,71,16,1);//所 OLED_ShowChinese(25,25,72,16,1);//有 OLED_ShowChinese(45,25,69,16,1);//锁 OLED_ShowChinese(65,25,73,16,1);//已 OLED_ShowChinese(105,25,19,16,1);//封 OLED_ShowChinese(85,25,18,16,1);//解 // OLED_ShowChinese(85,25,17,16,1);//施 }