Nextion TFT LCD Card Display
Dependencies: MFRC522 NextionLCD
Fork of ProjectCardDisplay by
main.cpp
- Committer:
- shivanandgowdakr
- Date:
- 2018-10-23
- Revision:
- 1:ff4e4f645e13
- Parent:
- 0:a5d3db2f2625
File content as of revision 1:ff4e4f645e13:
#include "mbed.h" #include "NextionLCD.h" #include "Time.h" #define PASSWORD 11111 #include "MFRC522.h" #include "Card.h" RawSerial pc(USBTX,USBRX); NextionLCD lcd(D1, D0); //Tx, Rx Thread Menu; Thread DispTime; Thread DispName; DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut relay(D8); volatile char c; uint8_t Present_State=0; uint8_t Previous_State=0; uint8_t Back=0; void Page1(void); void Page2(void); void Page3(void); void Page4(void); void Main_Menu(void); void flip(void); char prevPage='\0'; //bool flag=true; char Cand_Name[25]={'\0'}; char Time_Disp[30]={'\0'}; void Display_Details(void); void pc_recv() { while(pc.readable()) { c=pc.getc(); } } void Menu_Selection() { while(1) { pc_recv(); switch (c) { case '1': Main_Menu(); c='\0'; wait(1); break; case '2': Page1(); c='\0'; wait(1); break; case '3': Page2(); c='\0'; wait(1); break; case '4': Page3(); c='\0'; wait(1); break; case '5': Page4(); c='\0'; wait(1); break; default: //lcd.DrawString(0,0,480,40,2,WHITE,BLACK,0,2, "Flash Master Card to Edit"); // Display_Details(); wait(1); break; } } } void Display_Time(void) { while(true) { Get_Date_Time_Display(Time_Disp); lcd.DrawString(0,0,480,40,2,BLACK,WHITE,0,0,Time_Disp); lcd.DrawString(0,295,480,25,1,BLACK,WHITE,0,0,"Powered by Exultsoft Technolies Pvt. Ltd."); wait(60); memset(Time_Disp,'\0',30); } } int main() { char CARDNO[30]={'\0'}; lcd.ClrScr(BLACK); lcd.DrawString(0,100,480,40,2,WHITE,BLACK,0,2, "##############################"); lcd.DrawString(0,150,480,40,2,YELLOW,BLACK,0,0, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); lcd.DrawString(0,200,480,40,2,BLUE,BLACK,0,0, "------------------------------"); lcd.ClrScr(BLACK); wait(10); iSetTerminalTime("27072018111213"); Menu.start(callback(Menu_Selection)); DispTime.start(callback(Display_Time)); DispName.start(callback(Display_Details)); int success=-1; while(true) { MIFARE_Init(); Read_Card_Details(CARDNO); success= strcmp(CARDNO,"17D6C66B"); if(success==0) { flip(); wait(1); } } } void Main_Menu(void) { lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,0, "1. MAIN MENU "); lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0,"2. OPTION ONE "); lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. OPTION TWO "); lcd.DrawString(0,160,480,40,2,BROWN,WHITE,0,0,"4. OPTION THREE "); lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. OPTION FOUR "); lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0,"6. OPTION FIVE"); wait(1); Present_State=1; Previous_State=0; } void Page1(void) { lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 1 OPTION ONE "); lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 1 OPTION TWO "); lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 1 OPTION THREE "); lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 1 OPTION FOUR "); lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 1 OPTION FIVE"); wait(1); Present_State=2; Previous_State=0; } void Page2(void) { lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 2 OPTION ONE "); lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 2 OPTION TWO "); lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 2 OPTION THREE "); lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 2 OPTION FOUR "); lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 2 OPTION FIVE"); wait(1); Present_State=3; Previous_State=0; } void Page3(void) { lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 3 OPTION ONE "); lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 3 OPTION TWO "); lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 3 OPTION THREE "); lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 3 OPTION FOUR "); lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 3 OPTION FIVE"); wait(1); Present_State=4; Previous_State=0; } void Page4(void) { lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 4 OPTION ONE "); lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 4 OPTION TWO "); lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 4 OPTION THREE "); lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 4 OPTION FOUR "); lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 4 OPTION FIVE"); wait(1); Present_State=0; Previous_State=0; } void Display_Details(void) { while(1) { Thread::signal_wait(0x2); memcpy(Cand_Name," Good Morning",20); int hours=Get_Hours(); if(hours>=0 && hours <12) lcd.FillRectangle(0,40,480,255,BLUE); lcd.DrawString(0,40,480,40,2,WHITE,BLUE,0,2,Cand_Name); lcd.DrawString(0,80,480,40,2,WHITE,BLUE,0,2,"Name of CARD Holder"); lcd.DrawString(0,120,480,40,2,WHITE,BLUE,0,2," Have a Great Day "); memset(Cand_Name,'\0',25); relay=0; wait(1); relay=1; wait(2); lcd.FillRectangle(0,40,480,255,BLUE); } } void flip(void) { led1=!led1; led2=!led2; led3=!led3; DispName.signal_set(0x02); }