menu projet
Dependencies: SDFileSystem SPI_TFT_ILI9341 TFT_fonts mbed
Fork of TFT_banggood by
main.cpp@2:da6faa24e5b2, 2015-06-23 (annotated)
- Committer:
- JoeJoe
- Date:
- Tue Jun 23 07:29:03 2015 +0000
- Revision:
- 2:da6faa24e5b2
- Parent:
- 1:2b041456fea2
JordanRoger
Who changed what in which revision?
User | Revision | Line number | New 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 | } |