menu projet

Dependencies:   SDFileSystem SPI_TFT_ILI9341 TFT_fonts mbed

Fork of TFT_banggood by Peter Drescher

Committer:
JoeJoe
Date:
Tue Jun 23 07:29:03 2015 +0000
Revision:
2:da6faa24e5b2
Parent:
1:2b041456fea2
JordanRoger

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreschpe 0:7c3b9bfd6ead 1 #include "stdio.h"
dreschpe 0:7c3b9bfd6ead 2 #include "mbed.h"
dreschpe 0:7c3b9bfd6ead 3 #include "SPI_TFT_ILI9341.h"
dreschpe 0:7c3b9bfd6ead 4 #include "string"
dreschpe 0:7c3b9bfd6ead 5 #include "Arial12x12.h"
dreschpe 0:7c3b9bfd6ead 6 #include "Arial24x23.h"
dreschpe 0:7c3b9bfd6ead 7 #include "Arial28x28.h"
dreschpe 0:7c3b9bfd6ead 8 #include "font_big.h"
dreschpe 0:7c3b9bfd6ead 9 #include "SDFileSystem.h"
dreschpe 0:7c3b9bfd6ead 10
JoeJoe 1:2b041456fea2 11 InterruptIn BPlus(p21);
JoeJoe 1:2b041456fea2 12 InterruptIn BMoins(p22); // Déclaration des Boutons poussoirs
JoeJoe 1:2b041456fea2 13 InterruptIn BValide(p23);
dreschpe 0:7c3b9bfd6ead 14
JoeJoe 1:2b041456fea2 15 char PosMenu; // Déclaration des menus
JoeJoe 1:2b041456fea2 16 bool MenuPrincipal;
JoeJoe 1:2b041456fea2 17 bool ecrire;
JoeJoe 1:2b041456fea2 18 Ticker heure;
JoeJoe 1:2b041456fea2 19 int flip = 0;
dreschpe 0:7c3b9bfd6ead 20
JoeJoe 1:2b041456fea2 21 // Pin de connection de l'écran TFT
JoeJoe 2:da6faa24e5b2 22 SPI_TFT_ILI9341 TFT(p11, p12, p13, p5, p7, p6,"TFT"); //mosi,miso,sclk,cs,reset,dc
dreschpe 0:7c3b9bfd6ead 23
JoeJoe 1:2b041456fea2 24 void attime()
JoeJoe 1:2b041456fea2 25 {
JoeJoe 1:2b041456fea2 26 flip = !flip;
JoeJoe 1:2b041456fea2 27 }
JoeJoe 1:2b041456fea2 28 void trigger1() //Bouton poussoir de gauche
JoeJoe 1:2b041456fea2 29 {
JoeJoe 1:2b041456fea2 30 ecrire=0;
JoeJoe 1:2b041456fea2 31 if(MenuPrincipal==0) {
JoeJoe 1:2b041456fea2 32 if(PosMenu>0) {
JoeJoe 1:2b041456fea2 33 PosMenu=PosMenu-1;
JoeJoe 2:da6faa24e5b2 34 wait_ms(75);
JoeJoe 1:2b041456fea2 35 }
JoeJoe 1:2b041456fea2 36 }
JoeJoe 1:2b041456fea2 37 }
JoeJoe 1:2b041456fea2 38 void trigger2() //Bouton poussoir du milieu
JoeJoe 1:2b041456fea2 39 {
JoeJoe 1:2b041456fea2 40 ecrire=0;
JoeJoe 1:2b041456fea2 41 if(MenuPrincipal==0) {
JoeJoe 1:2b041456fea2 42 if(PosMenu<=1) {
JoeJoe 1:2b041456fea2 43 PosMenu=PosMenu+1;
JoeJoe 2:da6faa24e5b2 44 wait_ms(75);
JoeJoe 1:2b041456fea2 45 }
JoeJoe 1:2b041456fea2 46 }
JoeJoe 1:2b041456fea2 47 }
JoeJoe 1:2b041456fea2 48 void trigger3() //Bouton poussoir de droite
JoeJoe 1:2b041456fea2 49 {
JoeJoe 1:2b041456fea2 50 ecrire=0;
JoeJoe 1:2b041456fea2 51 if(MenuPrincipal==0) {
JoeJoe 1:2b041456fea2 52 MenuPrincipal=1;
JoeJoe 1:2b041456fea2 53 } else {
JoeJoe 1:2b041456fea2 54 MenuPrincipal=0;
JoeJoe 2:da6faa24e5b2 55 wait_ms(75);
JoeJoe 1:2b041456fea2 56 }
JoeJoe 1:2b041456fea2 57 }
JoeJoe 1:2b041456fea2 58 int main ()
JoeJoe 1:2b041456fea2 59 {
JoeJoe 1:2b041456fea2 60 heure.attach(&attime, 10);
JoeJoe 1:2b041456fea2 61 MenuPrincipal=0;
JoeJoe 1:2b041456fea2 62 PosMenu=0;
JoeJoe 1:2b041456fea2 63 BPlus.rise(&trigger1);
JoeJoe 1:2b041456fea2 64 BMoins.rise(&trigger2);
JoeJoe 1:2b041456fea2 65 BValide.rise(&trigger3);
JoeJoe 1:2b041456fea2 66 set_time(456771);
JoeJoe 2:da6faa24e5b2 67 TFT.claim(stdout);
dreschpe 0:7c3b9bfd6ead 68 TFT.set_orientation(3);
JoeJoe 1:2b041456fea2 69 TFT.background(White); // Applique le fond de l'écran en blanc
JoeJoe 1:2b041456fea2 70 TFT.foreground(Black); // Applique la police de caractère en noir
JoeJoe 1:2b041456fea2 71 TFT.cls(); // Réinitialise l'écran
JoeJoe 1:2b041456fea2 72 TFT.set_font((unsigned char*) Neu42x35);
JoeJoe 1:2b041456fea2 73 TFT.locate(12,1);
JoeJoe 1:2b041456fea2 74 TFT.printf("MENU");
JoeJoe 1:2b041456fea2 75 TFT.rect(5,40,826,85,Black); // Rectangles
JoeJoe 1:2b041456fea2 76 TFT.rect(5,90,826,135,Black);
JoeJoe 1:2b041456fea2 77 TFT.rect(5,140,826,185,Black);
JoeJoe 1:2b041456fea2 78 TFT.rect(5,190,826,235,Black);
JoeJoe 1:2b041456fea2 79 while(1) {
dreschpe 0:7c3b9bfd6ead 80
JoeJoe 1:2b041456fea2 81 if(flip == 0) {
JoeJoe 1:2b041456fea2 82 TFT.set_font((unsigned char*) Arial28x28);
JoeJoe 1:2b041456fea2 83 TFT.locate(220,10);
JoeJoe 1:2b041456fea2 84 time_t heure=time(NULL);
JoeJoe 1:2b041456fea2 85 char buffer[32];
JoeJoe 1:2b041456fea2 86 strftime(buffer,32,"%Hh%M",localtime(&heure));
JoeJoe 1:2b041456fea2 87 TFT.printf("%s",buffer);
JoeJoe 1:2b041456fea2 88 }
JoeJoe 1:2b041456fea2 89 TFT.set_font((unsigned char*) Neu42x35);
JoeJoe 1:2b041456fea2 90 if(ecrire==0) {
JoeJoe 1:2b041456fea2 91 if(MenuPrincipal==0) {
JoeJoe 1:2b041456fea2 92 if(PosMenu==0) { //Sélection sur CAPTEURS
JoeJoe 1:2b041456fea2 93 TFT.foreground(Red);
JoeJoe 1:2b041456fea2 94 TFT.locate(12,45);
JoeJoe 1:2b041456fea2 95 TFT.printf("Capteurs ");
JoeJoe 1:2b041456fea2 96 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 97 TFT.locate(12,95);
JoeJoe 1:2b041456fea2 98 TFT.printf("Mesures ");
JoeJoe 1:2b041456fea2 99 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 100 TFT.locate(12,145);
JoeJoe 1:2b041456fea2 101 TFT.printf("Horloge ");
JoeJoe 1:2b041456fea2 102 TFT.locate(12,195);
JoeJoe 1:2b041456fea2 103 TFT.printf(" ");
JoeJoe 1:2b041456fea2 104 }
JoeJoe 1:2b041456fea2 105 if(PosMenu==1) { //Sélection sur MESURES
JoeJoe 1:2b041456fea2 106 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 107 TFT.locate(12,45);
JoeJoe 1:2b041456fea2 108 TFT.printf("Capteurs ");
JoeJoe 1:2b041456fea2 109 TFT.foreground(Red);
JoeJoe 1:2b041456fea2 110 TFT.locate(12,95);
JoeJoe 1:2b041456fea2 111 TFT.printf("Mesures ");
JoeJoe 1:2b041456fea2 112 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 113 TFT.locate(12,145);
JoeJoe 1:2b041456fea2 114 TFT.printf("Horloge ");
JoeJoe 1:2b041456fea2 115 TFT.locate(12,195);
JoeJoe 1:2b041456fea2 116 TFT.printf(" ");
JoeJoe 1:2b041456fea2 117 }
JoeJoe 1:2b041456fea2 118 if(PosMenu==2) { //Sélection sur HORLOGE
JoeJoe 1:2b041456fea2 119 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 120 TFT.locate(12,45);
JoeJoe 1:2b041456fea2 121 TFT.printf("Capteurs ");
JoeJoe 1:2b041456fea2 122 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 123 TFT.locate(12,95);
JoeJoe 1:2b041456fea2 124 TFT.printf("Mesures ");
JoeJoe 1:2b041456fea2 125 TFT.foreground(Red);
JoeJoe 1:2b041456fea2 126 TFT.locate(12,145);
JoeJoe 1:2b041456fea2 127 TFT.printf("Horloge ");
JoeJoe 1:2b041456fea2 128 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 129 TFT.locate(12,195);
JoeJoe 1:2b041456fea2 130 TFT.printf(" ");
JoeJoe 1:2b041456fea2 131 }
JoeJoe 1:2b041456fea2 132 } else {
JoeJoe 1:2b041456fea2 133 if(PosMenu==0) { //Sous menu de CAPTEURS
JoeJoe 1:2b041456fea2 134 TFT.set_font((unsigned char*) Neu42x35);
JoeJoe 1:2b041456fea2 135 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 136 TFT.locate(12,45);
JoeJoe 1:2b041456fea2 137 TFT.printf("C1 ");
JoeJoe 1:2b041456fea2 138 TFT.locate(109,45);
JoeJoe 1:2b041456fea2 139 TFT.printf("C2 ");
JoeJoe 1:2b041456fea2 140 TFT.locate(220,45);
JoeJoe 1:2b041456fea2 141 TFT.printf("C3");
JoeJoe 1:2b041456fea2 142 TFT.locate(12,95);
JoeJoe 1:2b041456fea2 143 TFT.printf("C4 ");
JoeJoe 1:2b041456fea2 144 TFT.locate(109,95);
JoeJoe 1:2b041456fea2 145 TFT.printf("C5 ");
JoeJoe 1:2b041456fea2 146 TFT.locate(220,95);
JoeJoe 1:2b041456fea2 147 TFT.printf("C6");
JoeJoe 1:2b041456fea2 148 TFT.locate(12,145);
JoeJoe 1:2b041456fea2 149 TFT.printf("C7 ");
JoeJoe 1:2b041456fea2 150 TFT.locate(109,145);
JoeJoe 1:2b041456fea2 151 TFT.printf("C8 ");
JoeJoe 1:2b041456fea2 152 TFT.locate(220,145);
JoeJoe 1:2b041456fea2 153 TFT.printf("C9");
JoeJoe 1:2b041456fea2 154 TFT.locate(12,195);
JoeJoe 1:2b041456fea2 155 TFT.printf("C10");
JoeJoe 1:2b041456fea2 156 }
JoeJoe 1:2b041456fea2 157 if(PosMenu==1) { //Sous menu de MESURES
JoeJoe 1:2b041456fea2 158 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 159 TFT.locate(12,45);
JoeJoe 1:2b041456fea2 160 TFT.printf("Temp : ");
JoeJoe 1:2b041456fea2 161 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 162 TFT.locate(12,95);
JoeJoe 1:2b041456fea2 163 TFT.printf("Forces : ");
JoeJoe 1:2b041456fea2 164 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 165 TFT.locate(12,145);
JoeJoe 1:2b041456fea2 166 TFT.printf(" ");
JoeJoe 1:2b041456fea2 167 }
JoeJoe 1:2b041456fea2 168 if(PosMenu==2) { //Sous menu d'HORLOGE
JoeJoe 1:2b041456fea2 169 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 170 TFT.locate(12,45);
JoeJoe 1:2b041456fea2 171 TFT.printf("Reglages Clk");
JoeJoe 1:2b041456fea2 172 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 173 TFT.locate(12,95);
JoeJoe 1:2b041456fea2 174 TFT.printf(" ");
JoeJoe 1:2b041456fea2 175 TFT.foreground(Black);
JoeJoe 1:2b041456fea2 176 TFT.locate(12,145);
JoeJoe 1:2b041456fea2 177 TFT.printf(" ");
JoeJoe 1:2b041456fea2 178 }
JoeJoe 1:2b041456fea2 179 }
JoeJoe 1:2b041456fea2 180 }
JoeJoe 2:da6faa24e5b2 181 ecrire=1;
JoeJoe 1:2b041456fea2 182 }
JoeJoe 1:2b041456fea2 183 }