Contains the main execution of the clock uses headers to import functions

Dependencies:   RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor

Fork of TFT_Mikroelectronika_IL9341_sketchpad by Oxford CWM Team

clocklogic.h

Committer:
mlin
Date:
2017-05-25
Revision:
17:356a299d3224
Parent:
16:3cb9b1fbc039
Child:
19:4c30c3182e04

File content as of revision 17:356a299d3224:

int digital_clock_button_press(){
    int x = readX();
    int y = readY();
    if (touching == 1) {
        if (x > 0 && x < 50 && y > 0 & y < 50) // side button 1 
        {
            //set desired state to 1 
            return 1;
        }
        else if (x > 0 && x < 50 && y > 50 & y < 100) //side button 2
        {
            //set desired state to 2 
            return 2;
        }
        else if (x > 0 && x < 50 && y > 100 && y < 150) // side button 3 
        {
            //set desired state to 3
            return 3;
        }
        else if (x > 0 && x < 50 && y > 150 && y < 200) // side button 4 
        {
            //set desired state to 4
            return 4;
        }else if (x > 0 && x < 50 && y > 200 && y < 240) // button home
        {
            //set desired state to 0
            return 0;
        }
        else if (x > 140 && x < 230 && y >  100 && y < 200) // alarm button on or off
        {
            //set desired state to 5
            f_alarm = !(f_alarm);
            return -1;
        }
    }
    return -1;
}
        
    


void clock()
{
    draw_state(1);
    while (f_state == 1){
        read_time()
        TFT.set_font((unsigned char*) Arial24x23); //set alarm hour
        TFT.locate(70,40);
        TFT.printf("%d",tm_c.hour);
        TFT.locate(160,40);
        TFT.printf("%d",tm_c.min);
        TFT.locate(250,40);
        TFT.printf("%d",tm_c.sec);
        TFT.locate(60,140);
        TFT.set_font((unsigned char*) Arial12x12);
        TFT.printf("%s",rtc.weekdayToString(tm_c.wday));
        TFT.set_font((unsigned char*) Arial24x23);
        if (f_alarm) {
        TFT.locate(160,140);
        TFT.printf("%d",tm_a_hr);
        TFT.locate(250,40);    
        TFT.printf("%d",tm_a_min);    
        }
        else
        {
            TFT.locate(160,140);
            TFT.printf("   ");
           TFT.locate(250,40);    
           TFT.printf("   ");   
        }
        TFT.locate(210,70);
        TFT.printf("%s",tm_c.date);
        TFT.locate(250,160);    
        TFT.printf("%d",tm_c.mon);    
        TFT.locate(250,250);    
        TFT.printf("%d",tm_c.year);    
        }
        switch (digital_clock_press()){
            case (-1): break;
            case (0): f_state = 0; break;
            case (1): f_state = 2; break;
            case (2): f_state = 3; break;
            case (3): f_state = 4; break;
        }
    }
}