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);
}
