s2

Committer:
nk_ralph
Date:
Tue Jun 08 08:22:07 2021 +0000
Revision:
0:66a03c7cfb16
Child:
1:367a17638cfb
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nk_ralph 0:66a03c7cfb16 1 #include "affichage.h"
nk_ralph 0:66a03c7cfb16 2 #include <stdio.h>
nk_ralph 0:66a03c7cfb16 3 FT800 TFT (PB_5,PB_4,PB_3,PA_8,PB_10,PA_9); // mosi, miso, sck, cs, int, pd
nk_ralph 0:66a03c7cfb16 4 char _phrase[50];
nk_ralph 0:66a03c7cfb16 5
nk_ralph 0:66a03c7cfb16 6 void EcranPrincipale()
nk_ralph 0:66a03c7cfb16 7 {
nk_ralph 0:66a03c7cfb16 8
nk_ralph 0:66a03c7cfb16 9 TFT.DLstart(); //
nk_ralph 0:66a03c7cfb16 10 TFT.DL(CLEAR_COLOR_RGB(255, 255, 255)); // Les 3 lignes sont à laisser tel quel pour le démarrage de l'afficheur
nk_ralph 0:66a03c7cfb16 11 TFT.DL(CLEAR(1, 1, 1)); //
nk_ralph 0:66a03c7cfb16 12 TFT.FgColor(0xC618);
nk_ralph 0:66a03c7cfb16 13 TFT.DL(COLOR_RGB(0, 0, 0)); // Couleur utilisée
nk_ralph 0:66a03c7cfb16 14
nk_ralph 0:66a03c7cfb16 15 drawline(20,20,20,250); // Ligne verticale Gauche
nk_ralph 0:66a03c7cfb16 16 drawline(460,20,460,250); // Ligne verticale Droite
nk_ralph 0:66a03c7cfb16 17
nk_ralph 0:66a03c7cfb16 18 drawline(20,20,460,20); // Ligne horizontale Haute
nk_ralph 0:66a03c7cfb16 19 drawline(20,250,460,250); // Ligne horizontale Basse
nk_ralph 0:66a03c7cfb16 20
nk_ralph 0:66a03c7cfb16 21
nk_ralph 0:66a03c7cfb16 22 // Partie Haute avec \\\\\\\\\\\\\
nk_ralph 0:66a03c7cfb16 23
nk_ralph 0:66a03c7cfb16 24 drawline(0,0,20,20);
nk_ralph 0:66a03c7cfb16 25 drawline(20,20,40,40);
nk_ralph 0:66a03c7cfb16 26 drawline(55,20,35,0);
nk_ralph 0:66a03c7cfb16 27 drawline(90,20,70,0);
nk_ralph 0:66a03c7cfb16 28 drawline(130,20,110,0);
nk_ralph 0:66a03c7cfb16 29 drawline(165,20,145,0);
nk_ralph 0:66a03c7cfb16 30 drawline(200,20,180,0);
nk_ralph 0:66a03c7cfb16 31 drawline(220,40,200,20);
nk_ralph 0:66a03c7cfb16 32 TFT.Text(210,0,27,0,"L.V.H"); // Affiche L.V.H
nk_ralph 0:66a03c7cfb16 33 drawline(240,40,260,20);
nk_ralph 0:66a03c7cfb16 34 drawline(260,20,280,0);
nk_ralph 0:66a03c7cfb16 35 drawline(300,20,320,0);
nk_ralph 0:66a03c7cfb16 36 drawline(340,20,360,0);
nk_ralph 0:66a03c7cfb16 37 drawline(380,20,400,0);
nk_ralph 0:66a03c7cfb16 38 drawline(420,20,440,0);
nk_ralph 0:66a03c7cfb16 39 drawline(460,20,480,0);
nk_ralph 0:66a03c7cfb16 40 drawline(460,20,440,40);
nk_ralph 0:66a03c7cfb16 41
nk_ralph 0:66a03c7cfb16 42
nk_ralph 0:66a03c7cfb16 43 // Partie Basse avec \\\\\\\\\\\\\
nk_ralph 0:66a03c7cfb16 44
nk_ralph 0:66a03c7cfb16 45 drawline(0,270,20,250);
nk_ralph 0:66a03c7cfb16 46 drawline(20,250,40,270);
nk_ralph 0:66a03c7cfb16 47 drawline(60,250,80,270);
nk_ralph 0:66a03c7cfb16 48 drawline(100,250,120,270);
nk_ralph 0:66a03c7cfb16 49 drawline(140,250,160,270);
nk_ralph 0:66a03c7cfb16 50 drawline(180,250,200,270);
nk_ralph 0:66a03c7cfb16 51 TFT.Text(210,252,27,0,"BESANCON"); // Affiche BESANCON
nk_ralph 0:66a03c7cfb16 52 drawline(300,250,320,270);
nk_ralph 0:66a03c7cfb16 53 drawline(340,250,360,270);
nk_ralph 0:66a03c7cfb16 54 drawline(380,250,400,270);
nk_ralph 0:66a03c7cfb16 55 drawline(420,250,440,270);
nk_ralph 0:66a03c7cfb16 56 drawline(460,250,480,270);
nk_ralph 0:66a03c7cfb16 57
nk_ralph 0:66a03c7cfb16 58 // Chapeau gauche avec \\\\\\\\\\\\\
nk_ralph 0:66a03c7cfb16 59
nk_ralph 0:66a03c7cfb16 60
nk_ralph 0:66a03c7cfb16 61 drawline(0,40,20,60);
nk_ralph 0:66a03c7cfb16 62 drawline(0,80,40,120);
nk_ralph 0:66a03c7cfb16 63 drawline(20,140,0,160);
nk_ralph 0:66a03c7cfb16 64 drawline(20,180,0,200);
nk_ralph 0:66a03c7cfb16 65 drawline(20,220,0,240);
nk_ralph 0:66a03c7cfb16 66
nk_ralph 0:66a03c7cfb16 67 // Chapeau droit avec \\\\\\\\\\\\\
nk_ralph 0:66a03c7cfb16 68
nk_ralph 0:66a03c7cfb16 69 drawline(440,120,480,80);
nk_ralph 0:66a03c7cfb16 70 drawline(460,60,480,40);
nk_ralph 0:66a03c7cfb16 71 //drawline(460,100,480,120);
nk_ralph 0:66a03c7cfb16 72 drawline(460,140,480,160);
nk_ralph 0:66a03c7cfb16 73 drawline(460,180,480,200);
nk_ralph 0:66a03c7cfb16 74 drawline(460,220,480,240);
nk_ralph 0:66a03c7cfb16 75
nk_ralph 0:66a03c7cfb16 76
nk_ralph 0:66a03c7cfb16 77 // Premier rectangle
nk_ralph 0:66a03c7cfb16 78
nk_ralph 0:66a03c7cfb16 79 drawline(40,40,220,40);
nk_ralph 0:66a03c7cfb16 80 drawline(40,120,220,120);
nk_ralph 0:66a03c7cfb16 81 drawline(40,40,40,120);
nk_ralph 0:66a03c7cfb16 82 drawline(220,40,220,120);
nk_ralph 0:66a03c7cfb16 83 sprintf(_phrase,"CZ = %0.1f",CZ);
nk_ralph 0:66a03c7cfb16 84 TFT.Text(44,45,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 85 TFT.Text(45,72,21,0,"CZ est le coefficient de"); // 21 Police petite
nk_ralph 0:66a03c7cfb16 86 TFT.Text(45,90,21,0,"portance de l'aile d'avion");
nk_ralph 0:66a03c7cfb16 87
nk_ralph 0:66a03c7cfb16 88
nk_ralph 0:66a03c7cfb16 89 // Differential pressure
nk_ralph 0:66a03c7cfb16 90
nk_ralph 0:66a03c7cfb16 91
nk_ralph 0:66a03c7cfb16 92 TFT.Text(30,125,21,0,"Diff. pressure");
nk_ralph 0:66a03c7cfb16 93 TFT.Text(50,140,21,0,"1 - 4");
nk_ralph 0:66a03c7cfb16 94 TFT.Text(30,165,21,0,"1 :");
nk_ralph 0:66a03c7cfb16 95 sprintf(_phrase,"%0.0fPa",CH0);
nk_ralph 0:66a03c7cfb16 96 TFT.Text(50,165,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 97 TFT.Text(30,185,21,0,"2 :");
nk_ralph 0:66a03c7cfb16 98 sprintf(_phrase,"%0.0fPa",CH1);
nk_ralph 0:66a03c7cfb16 99 TFT.Text(50,185,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 100 TFT.Text(30,205,21,0,"3 :");
nk_ralph 0:66a03c7cfb16 101 sprintf(_phrase,"%0.0fPa",CH2);
nk_ralph 0:66a03c7cfb16 102 TFT.Text(50,205,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 103 TFT.Text(30,225,21,0,"4 :");
nk_ralph 0:66a03c7cfb16 104 sprintf(_phrase,"%0.0fPa",CH3);
nk_ralph 0:66a03c7cfb16 105 TFT.Text(50,225,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 106
nk_ralph 0:66a03c7cfb16 107
nk_ralph 0:66a03c7cfb16 108 // Deuxième rectangle
nk_ralph 0:66a03c7cfb16 109
nk_ralph 0:66a03c7cfb16 110 drawline(240,40,440,40);
nk_ralph 0:66a03c7cfb16 111 drawline(240,120,440,120);
nk_ralph 0:66a03c7cfb16 112 drawline(440,40,440,120);
nk_ralph 0:66a03c7cfb16 113 drawline(240,40,240,120);
nk_ralph 0:66a03c7cfb16 114 sprintf(_phrase,"CX = %0.1f",CX);
nk_ralph 0:66a03c7cfb16 115 TFT.Text(244,45,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 116 TFT.Text(245,72,21,0,"CX est le coefficient de");
nk_ralph 0:66a03c7cfb16 117 TFT.Text(245,90,21,0,"trainee de l'aile d'avion");
nk_ralph 0:66a03c7cfb16 118
nk_ralph 0:66a03c7cfb16 119
nk_ralph 0:66a03c7cfb16 120 // Differential pressure
nk_ralph 0:66a03c7cfb16 121
nk_ralph 0:66a03c7cfb16 122
nk_ralph 0:66a03c7cfb16 123 TFT.Text(365,125,21,0,"Diff. pressure");
nk_ralph 0:66a03c7cfb16 124 TFT.Text(400,140,21,0,"5 - 8");
nk_ralph 0:66a03c7cfb16 125 TFT.Text(385,165,21,0,"5 :");
nk_ralph 0:66a03c7cfb16 126 sprintf(_phrase,"%0.0fPa",CH4);
nk_ralph 0:66a03c7cfb16 127 TFT.Text(410,165,27, 0,_phrase);
nk_ralph 0:66a03c7cfb16 128 TFT.Text(385,185,21,0,"6 :");
nk_ralph 0:66a03c7cfb16 129 sprintf(_phrase,"%0.0fPa",CH5);
nk_ralph 0:66a03c7cfb16 130 TFT.Text(410,185,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 131 TFT.Text(385,205,21,0,"7 :");
nk_ralph 0:66a03c7cfb16 132 sprintf(_phrase,"%0.0fPa",CH6);
nk_ralph 0:66a03c7cfb16 133 TFT.Text(410,205,27,0,_phrase);
nk_ralph 0:66a03c7cfb16 134 TFT.Text(385,225,21,0,"8 :");
nk_ralph 0:66a03c7cfb16 135 sprintf(_phrase,"%0.0fPa",CH7);
nk_ralph 0:66a03c7cfb16 136 TFT.Text(410,225,27, 0,_phrase);
nk_ralph 0:66a03c7cfb16 137
nk_ralph 0:66a03c7cfb16 138
nk_ralph 0:66a03c7cfb16 139
nk_ralph 0:66a03c7cfb16 140 // Aile d'avion
nk_ralph 0:66a03c7cfb16 141
nk_ralph 0:66a03c7cfb16 142 drawline(160,160,355,175); // Grande ligne haute
nk_ralph 0:66a03c7cfb16 143 drawline(160,160,140,170); // trait tombant avant
nk_ralph 0:66a03c7cfb16 144 drawline(140,170,130,185); // trait tombant avant
nk_ralph 0:66a03c7cfb16 145 drawline(355,175,365,185); // Petit trait haut tombant derrière
nk_ralph 0:66a03c7cfb16 146 drawline(365,185,365,195); // Trait entre les deux ailes derrière
nk_ralph 0:66a03c7cfb16 147 drawline(130,185,130,195);
nk_ralph 0:66a03c7cfb16 148
nk_ralph 0:66a03c7cfb16 149 TFT.Text(150,180,21,0,"Angle d'incidence : ");
nk_ralph 0:66a03c7cfb16 150 TFT.Number(270,180,27, 0, Deg);
nk_ralph 0:66a03c7cfb16 151
nk_ralph 0:66a03c7cfb16 152 drawline(160,220,355,205); // Grande ligne basse
nk_ralph 0:66a03c7cfb16 153 drawline(160,220,140,210); // trait montant avant
nk_ralph 0:66a03c7cfb16 154 drawline(140,210,130,195); // trait montant avant
nk_ralph 0:66a03c7cfb16 155 drawline(355,205,365,195); // Petit trait haut montant derrière
nk_ralph 0:66a03c7cfb16 156
nk_ralph 0:66a03c7cfb16 157
nk_ralph 0:66a03c7cfb16 158 // Coordonnées aile au dessus
nk_ralph 0:66a03c7cfb16 159
nk_ralph 0:66a03c7cfb16 160 drawline(140,169,120,169); // 1er trait
nk_ralph 0:66a03c7cfb16 161 TFT.Text(115,169,20,0,"1.");
nk_ralph 0:66a03c7cfb16 162 drawline(160,158,150,148); // 2ème trait
nk_ralph 0:66a03c7cfb16 163 TFT.Text(140,144,20,0,"2.");
nk_ralph 0:66a03c7cfb16 164 drawline(180,160,180,149); // 3ème trait
nk_ralph 0:66a03c7cfb16 165 TFT.Text(170,146,20,0,"3.");
nk_ralph 0:66a03c7cfb16 166 drawline(210,162,210,152); // 4ème trait
nk_ralph 0:66a03c7cfb16 167 TFT.Text(200,149,20,0,"4.");
nk_ralph 0:66a03c7cfb16 168 drawline(240,165,240,155); // 5ème trait au dessus au milieu
nk_ralph 0:66a03c7cfb16 169 TFT.Text(230,152,20,0,"5.");
nk_ralph 0:66a03c7cfb16 170 drawline(275,168,275,158); // 6ème trait
nk_ralph 0:66a03c7cfb16 171 TFT.Text(265,155,20,0,"6.");
nk_ralph 0:66a03c7cfb16 172 drawline(310,171,310,161); // 7ème trait
nk_ralph 0:66a03c7cfb16 173 TFT.Text(300,158,20,0,"7.");
nk_ralph 0:66a03c7cfb16 174 drawline(345,174,345,164); // 8ème trait
nk_ralph 0:66a03c7cfb16 175 TFT.Text(335,161,20,0,"8.");
nk_ralph 0:66a03c7cfb16 176
nk_ralph 0:66a03c7cfb16 177 // coordonnées aile en dessous
nk_ralph 0:66a03c7cfb16 178
nk_ralph 0:66a03c7cfb16 179 drawline(140,210,120,210); // 1er trait
nk_ralph 0:66a03c7cfb16 180 TFT.Text(115,210,20,0,"1.");
nk_ralph 0:66a03c7cfb16 181 drawline(160,220,150,230); // 2ème trait
nk_ralph 0:66a03c7cfb16 182 TFT.Text(140,220,20,0,"2.");
nk_ralph 0:66a03c7cfb16 183 drawline(180,220,180,230); // 3ème trait
nk_ralph 0:66a03c7cfb16 184 TFT.Text(170,222,20,0,"3.");
nk_ralph 0:66a03c7cfb16 185 drawline(210,218,210,228); // 4ème trait
nk_ralph 0:66a03c7cfb16 186 TFT.Text(200,220,20,0,"4.");
nk_ralph 0:66a03c7cfb16 187 drawline(240,215,240,225); // 5ème trait en dessous au milieu
nk_ralph 0:66a03c7cfb16 188 TFT.Text(230,217,20,0,"5.");
nk_ralph 0:66a03c7cfb16 189 drawline(275,212,275,222); // 6ème trait
nk_ralph 0:66a03c7cfb16 190 TFT.Text(265,216,20,0,"6.");
nk_ralph 0:66a03c7cfb16 191 drawline(310,209,310,219); // 7ème trait
nk_ralph 0:66a03c7cfb16 192 TFT.Text(300,211,20,0,"7.");
nk_ralph 0:66a03c7cfb16 193 drawline(345,206,345,216); // 8ème trait
nk_ralph 0:66a03c7cfb16 194 TFT.Text(335,208,20,0,"8.");
nk_ralph 0:66a03c7cfb16 195
nk_ralph 0:66a03c7cfb16 196
nk_ralph 0:66a03c7cfb16 197
nk_ralph 0:66a03c7cfb16 198
nk_ralph 0:66a03c7cfb16 199
nk_ralph 0:66a03c7cfb16 200 TFT.DL(DISPLAY()); // permet l'affichage sur l'ecran
nk_ralph 0:66a03c7cfb16 201 TFT.Swap(); // Permet l'affichage sur l'ecran
nk_ralph 0:66a03c7cfb16 202
nk_ralph 0:66a03c7cfb16 203
nk_ralph 0:66a03c7cfb16 204 }
nk_ralph 0:66a03c7cfb16 205
nk_ralph 0:66a03c7cfb16 206 // permet de faire varier la luminosité 128 est le plus lumineux.
nk_ralph 0:66a03c7cfb16 207 ft_void_t luminosite( ft_int32_t lum)
nk_ralph 0:66a03c7cfb16 208 {
nk_ralph 0:66a03c7cfb16 209 TFT.DLstart(); // wait until after the swap
nk_ralph 0:66a03c7cfb16 210 TFT.MemWrite(REG_PWM_DUTY, 4); // write to the PWM_DUTY register
nk_ralph 0:66a03c7cfb16 211 TFT.StartFunc( FT_CMD_SIZE*1);
nk_ralph 0:66a03c7cfb16 212 TFT.SendCmd(lum);
nk_ralph 0:66a03c7cfb16 213 TFT.EndFunc( (FT_CMD_SIZE*1));
nk_ralph 0:66a03c7cfb16 214 TFT.Flush_Co_Buffer(); // Download the command list into fifo
nk_ralph 0:66a03c7cfb16 215 TFT.WaitCmdfifo_empty();
nk_ralph 0:66a03c7cfb16 216 }
nk_ralph 0:66a03c7cfb16 217 ft_void_t drawline( ft_int32_t x0, ft_int32_t y0,ft_int32_t x1,ft_int32_t y1)
nk_ralph 0:66a03c7cfb16 218 {
nk_ralph 0:66a03c7cfb16 219 TFT.DL(BEGIN(LINES));
nk_ralph 0:66a03c7cfb16 220 TFT.DL(VERTEX2F(x0*16,y0*16));
nk_ralph 0:66a03c7cfb16 221 TFT.DL(VERTEX2F(x1*16,y1*16));
nk_ralph 0:66a03c7cfb16 222 }