LAST PUBLISH MATRIX PROJECT

Dependencies:   mbed

Committer:
antoine_carpentier
Date:
Tue Jun 22 11:55:19 2021 +0000
Revision:
1:7a7366246b30
Parent:
0:c78ec5cab98d
Child:
2:552c5891b8c5
last commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
antoine_carpentier 1:7a7366246b30 1 ////////////// INCLUSION DES LIBRAIRIES (L1-L18)//////////////
iut_cachan01 0:c78ec5cab98d 2 #include "mbed.h"
iut_cachan01 0:c78ec5cab98d 3 #include "LEDMatrix.h"
iut_cachan01 0:c78ec5cab98d 4 #include "smallFont.h"
antoine_carpentier 1:7a7366246b30 5 #include "stm32746g_discovery_ts.h"
antoine_carpentier 1:7a7366246b30 6 #include "stm32746g_discovery_lcd.h"
antoine_carpentier 1:7a7366246b30 7 #include "fleche.h"
antoine_carpentier 1:7a7366246b30 8 #include "dessin.h"
antoine_carpentier 1:7a7366246b30 9 #include "drapeau.h"
antoine_carpentier 1:7a7366246b30 10 #include "croixbmp.h"
antoine_carpentier 1:7a7366246b30 11 #include "gommebmp.h"
antoine_carpentier 1:7a7366246b30 12 #include "allemagnebmp.h"
antoine_carpentier 1:7a7366246b30 13 #include "belgiquebmp.h"
antoine_carpentier 1:7a7366246b30 14 #include "beninbmp.h"
antoine_carpentier 1:7a7366246b30 15 #include "francebmp.h"
antoine_carpentier 1:7a7366246b30 16 #include "lgbpbmp.h"
antoine_carpentier 1:7a7366246b30 17 #include "italiebmp.h"
antoine_carpentier 1:7a7366246b30 18 /////////////////FIN INCLUSION DES LIBRAIRIES/////////////////
iut_cachan01 0:c78ec5cab98d 19
antoine_carpentier 1:7a7366246b30 20 //////DEFINITION LARGEUR ET LONGUEURE DE LECRAN LED (L20-L23)//////
antoine_carpentier 1:7a7366246b30 21 #define WIDTH 64
antoine_carpentier 1:7a7366246b30 22 #define HEIGHT 32
antoine_carpentier 1:7a7366246b30 23 //////// FIN DEFINITION LARGEUR ET LONGUEURE DE LECRAN LED ////////
antoine_carpentier 1:7a7366246b30 24
iut_cachan01 0:c78ec5cab98d 25 //stb c'est le latch
antoine_carpentier 1:7a7366246b30 26 // LEDMatrix (a, b, c, d, oe_1, r1, r2, b1, b2, g1, g2, stb_1, clk_1);
antoine_carpentier 1:7a7366246b30 27 LEDMatrix matrix(D1,D10,D0,D11,D7, D5, D3, D4, D2, D8, D9, D12, D13);
iut_cachan01 0:c78ec5cab98d 28 Ticker scanner;
iut_cachan01 0:c78ec5cab98d 29
iut_cachan01 0:c78ec5cab98d 30 // Display Buffer
iut_cachan01 0:c78ec5cab98d 31 uint8_t displaybuf[2][WIDTH *HEIGHT] = {
iut_cachan01 0:c78ec5cab98d 32 0x00
iut_cachan01 0:c78ec5cab98d 33 };
iut_cachan01 0:c78ec5cab98d 34
antoine_carpentier 1:7a7366246b30 35
antoine_carpentier 1:7a7366246b30 36 /////////DEFINITION DES PROTOTYPES (L36-L40)/////////
antoine_carpentier 1:7a7366246b30 37 void page_accueil(void);
antoine_carpentier 1:7a7366246b30 38 void page_dessin(void);
antoine_carpentier 1:7a7366246b30 39 void page_drapeau(void);
antoine_carpentier 1:7a7366246b30 40 /////////FIN DE DEFINITION DES PROTOTYPES////////////
antoine_carpentier 1:7a7366246b30 41
antoine_carpentier 1:7a7366246b30 42 /////////DEFINITION DES VARIABLES GLOBALES (L42-L46)/////////
antoine_carpentier 1:7a7366246b30 43 int xb=0, yb=0; // La valeur de x et y correspondante a l'ecran LCD
antoine_carpentier 1:7a7366246b30 44 uint8_t text[30]; // SPRINTF
antoine_carpentier 1:7a7366246b30 45 int p=0;// Pour le multicolor
antoine_carpentier 1:7a7366246b30 46 /////////FIN DE DEFINITION DES VARIABLES GLOBALES ////////////
antoine_carpentier 1:7a7366246b30 47
antoine_carpentier 1:7a7366246b30 48 ////////////////DEFINITION DES FONCTIONS DE DESSIN D'IMAGE (L48-L237)/////////////////////
antoine_carpentier 1:7a7366246b30 49 //fleche
antoine_carpentier 1:7a7366246b30 50 void drawImage_fleche(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 51 {
antoine_carpentier 1:7a7366246b30 52 int x = 0;
antoine_carpentier 1:7a7366246b30 53 int y = 0;
antoine_carpentier 1:7a7366246b30 54 uint32_t* dataPtr = (uint32_t*)fleche.data;
antoine_carpentier 1:7a7366246b30 55 while(y < fleche.height) {
antoine_carpentier 1:7a7366246b30 56 while(x < fleche.width) {
antoine_carpentier 1:7a7366246b30 57 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 58 dataPtr++;
antoine_carpentier 1:7a7366246b30 59 x++;
antoine_carpentier 1:7a7366246b30 60 }
antoine_carpentier 1:7a7366246b30 61 x = 0;
antoine_carpentier 1:7a7366246b30 62 y++;
antoine_carpentier 1:7a7366246b30 63 }
antoine_carpentier 1:7a7366246b30 64 }
iut_cachan01 0:c78ec5cab98d 65
antoine_carpentier 1:7a7366246b30 66 //belgique
antoine_carpentier 1:7a7366246b30 67 void drawImage_belgique(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 68 {
antoine_carpentier 1:7a7366246b30 69 int x = 0;
antoine_carpentier 1:7a7366246b30 70 int y = 0;
antoine_carpentier 1:7a7366246b30 71 uint32_t* dataPtr = (uint32_t*)belgiquebmp.data;
antoine_carpentier 1:7a7366246b30 72 while(y < belgiquebmp.height) {
antoine_carpentier 1:7a7366246b30 73 while(x < belgiquebmp.width) {
antoine_carpentier 1:7a7366246b30 74 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 75 dataPtr++;
antoine_carpentier 1:7a7366246b30 76 x++;
antoine_carpentier 1:7a7366246b30 77 }
antoine_carpentier 1:7a7366246b30 78 x = 0;
antoine_carpentier 1:7a7366246b30 79 y++;
antoine_carpentier 1:7a7366246b30 80 }
antoine_carpentier 1:7a7366246b30 81 }
antoine_carpentier 1:7a7366246b30 82
antoine_carpentier 1:7a7366246b30 83 //allemagne
antoine_carpentier 1:7a7366246b30 84 void drawImage_allemagne(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 85 {
antoine_carpentier 1:7a7366246b30 86 int x = 0;
antoine_carpentier 1:7a7366246b30 87 int y = 0;
antoine_carpentier 1:7a7366246b30 88 uint32_t* dataPtr = (uint32_t*)allemagnebmp.data;
antoine_carpentier 1:7a7366246b30 89 while(y < allemagnebmp.height) {
antoine_carpentier 1:7a7366246b30 90 while(x < allemagnebmp.width) {
antoine_carpentier 1:7a7366246b30 91 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 92 dataPtr++;
antoine_carpentier 1:7a7366246b30 93 x++;
antoine_carpentier 1:7a7366246b30 94 }
antoine_carpentier 1:7a7366246b30 95 x = 0;
antoine_carpentier 1:7a7366246b30 96 y++;
antoine_carpentier 1:7a7366246b30 97 }
antoine_carpentier 1:7a7366246b30 98 }
iut_cachan01 0:c78ec5cab98d 99
antoine_carpentier 1:7a7366246b30 100 //benin
antoine_carpentier 1:7a7366246b30 101 void drawImage_benin(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 102 {
antoine_carpentier 1:7a7366246b30 103 int x = 0;
antoine_carpentier 1:7a7366246b30 104 int y = 0;
antoine_carpentier 1:7a7366246b30 105 uint32_t* dataPtr = (uint32_t*)beninbmp.data;
antoine_carpentier 1:7a7366246b30 106 while(y < beninbmp.height) {
antoine_carpentier 1:7a7366246b30 107 while(x < beninbmp.width) {
antoine_carpentier 1:7a7366246b30 108 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 109 dataPtr++;
antoine_carpentier 1:7a7366246b30 110 x++;
antoine_carpentier 1:7a7366246b30 111 }
antoine_carpentier 1:7a7366246b30 112 x = 0;
antoine_carpentier 1:7a7366246b30 113 y++;
antoine_carpentier 1:7a7366246b30 114 }
antoine_carpentier 1:7a7366246b30 115 }
antoine_carpentier 1:7a7366246b30 116
antoine_carpentier 1:7a7366246b30 117 //france
antoine_carpentier 1:7a7366246b30 118 void drawImage_france(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 119 {
antoine_carpentier 1:7a7366246b30 120 int x = 0;
antoine_carpentier 1:7a7366246b30 121 int y = 0;
antoine_carpentier 1:7a7366246b30 122 uint32_t* dataPtr = (uint32_t*)francebmp.data;
antoine_carpentier 1:7a7366246b30 123 while(y < francebmp.height) {
antoine_carpentier 1:7a7366246b30 124 while(x < francebmp.width) {
antoine_carpentier 1:7a7366246b30 125 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 126 dataPtr++;
antoine_carpentier 1:7a7366246b30 127 x++;
antoine_carpentier 1:7a7366246b30 128 }
antoine_carpentier 1:7a7366246b30 129 x = 0;
antoine_carpentier 1:7a7366246b30 130 y++;
antoine_carpentier 1:7a7366246b30 131 }
antoine_carpentier 1:7a7366246b30 132 }
iut_cachan01 0:c78ec5cab98d 133
antoine_carpentier 1:7a7366246b30 134 //italie
antoine_carpentier 1:7a7366246b30 135 void drawImage_italie(int offsetX, int offsetY)
iut_cachan01 0:c78ec5cab98d 136 {
antoine_carpentier 1:7a7366246b30 137 int x = 0;
antoine_carpentier 1:7a7366246b30 138 int y = 0;
antoine_carpentier 1:7a7366246b30 139 uint32_t* dataPtr = (uint32_t*)italiebmp.data;
antoine_carpentier 1:7a7366246b30 140 while(y < italiebmp.height) {
antoine_carpentier 1:7a7366246b30 141 while(x < italiebmp.width) {
antoine_carpentier 1:7a7366246b30 142 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 143 dataPtr++;
antoine_carpentier 1:7a7366246b30 144 x++;
iut_cachan01 0:c78ec5cab98d 145 }
antoine_carpentier 1:7a7366246b30 146 x = 0;
antoine_carpentier 1:7a7366246b30 147 y++;
antoine_carpentier 1:7a7366246b30 148 }
antoine_carpentier 1:7a7366246b30 149 }
iut_cachan01 0:c78ec5cab98d 150
antoine_carpentier 1:7a7366246b30 151 //lgbt
antoine_carpentier 1:7a7366246b30 152 void drawImage_lgbt(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 153 {
antoine_carpentier 1:7a7366246b30 154 int x = 0;
antoine_carpentier 1:7a7366246b30 155 int y = 0;
antoine_carpentier 1:7a7366246b30 156 uint32_t* dataPtr = (uint32_t*)lgbpbmp.data;
antoine_carpentier 1:7a7366246b30 157 while(y < lgbpbmp.height) {
antoine_carpentier 1:7a7366246b30 158 while(x < lgbpbmp.width) {
antoine_carpentier 1:7a7366246b30 159 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 160 dataPtr++;
antoine_carpentier 1:7a7366246b30 161 x++;
antoine_carpentier 1:7a7366246b30 162 }
antoine_carpentier 1:7a7366246b30 163 x = 0;
antoine_carpentier 1:7a7366246b30 164 y++;
antoine_carpentier 1:7a7366246b30 165 }
antoine_carpentier 1:7a7366246b30 166 }
antoine_carpentier 1:7a7366246b30 167
antoine_carpentier 1:7a7366246b30 168 //drapeau
antoine_carpentier 1:7a7366246b30 169 void drawImage_drapeau(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 170 {
antoine_carpentier 1:7a7366246b30 171 int x = 0;
antoine_carpentier 1:7a7366246b30 172 int y = 0;
antoine_carpentier 1:7a7366246b30 173 uint32_t* dataPtr = (uint32_t*)drapeau.data;
antoine_carpentier 1:7a7366246b30 174 while(y < drapeau.height) {
antoine_carpentier 1:7a7366246b30 175 while(x < drapeau.width) {
antoine_carpentier 1:7a7366246b30 176 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 177 dataPtr++;
antoine_carpentier 1:7a7366246b30 178 x++;
antoine_carpentier 1:7a7366246b30 179 }
antoine_carpentier 1:7a7366246b30 180 x = 0;
antoine_carpentier 1:7a7366246b30 181 y++;
antoine_carpentier 1:7a7366246b30 182 }
iut_cachan01 0:c78ec5cab98d 183 }
iut_cachan01 0:c78ec5cab98d 184
iut_cachan01 0:c78ec5cab98d 185
antoine_carpentier 1:7a7366246b30 186 //gomme
antoine_carpentier 1:7a7366246b30 187 void drawImage_gomme(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 188 {
antoine_carpentier 1:7a7366246b30 189 int x = 0;
antoine_carpentier 1:7a7366246b30 190 int y = 0;
antoine_carpentier 1:7a7366246b30 191 uint32_t* dataPtr = (uint32_t*)gommebmp.data;
antoine_carpentier 1:7a7366246b30 192 while(y < gommebmp.height) {
antoine_carpentier 1:7a7366246b30 193 while(x < gommebmp.width) {
antoine_carpentier 1:7a7366246b30 194 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 195 dataPtr++;
antoine_carpentier 1:7a7366246b30 196 x++;
antoine_carpentier 1:7a7366246b30 197 }
antoine_carpentier 1:7a7366246b30 198 x = 0;
antoine_carpentier 1:7a7366246b30 199 y++;
antoine_carpentier 1:7a7366246b30 200 }
antoine_carpentier 1:7a7366246b30 201 }
antoine_carpentier 1:7a7366246b30 202
antoine_carpentier 1:7a7366246b30 203 //croix
antoine_carpentier 1:7a7366246b30 204 void drawImage_croix(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 205 {
antoine_carpentier 1:7a7366246b30 206 int x = 0;
antoine_carpentier 1:7a7366246b30 207 int y = 0;
antoine_carpentier 1:7a7366246b30 208 uint32_t* dataPtr = (uint32_t*)croixbmp.data;
antoine_carpentier 1:7a7366246b30 209 while(y < croixbmp.height) {
antoine_carpentier 1:7a7366246b30 210 while(x < croixbmp.width) {
antoine_carpentier 1:7a7366246b30 211 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 212 dataPtr++;
antoine_carpentier 1:7a7366246b30 213 x++;
antoine_carpentier 1:7a7366246b30 214 }
antoine_carpentier 1:7a7366246b30 215 x = 0;
antoine_carpentier 1:7a7366246b30 216 y++;
antoine_carpentier 1:7a7366246b30 217 }
antoine_carpentier 1:7a7366246b30 218 }
antoine_carpentier 1:7a7366246b30 219
antoine_carpentier 1:7a7366246b30 220
antoine_carpentier 1:7a7366246b30 221 //dessin
antoine_carpentier 1:7a7366246b30 222 void drawImage_dessin(int offsetX, int offsetY)
antoine_carpentier 1:7a7366246b30 223 {
antoine_carpentier 1:7a7366246b30 224 int x = 0;
antoine_carpentier 1:7a7366246b30 225 int y = 0;
antoine_carpentier 1:7a7366246b30 226 uint32_t* dataPtr = (uint32_t*)dessin.data;
antoine_carpentier 1:7a7366246b30 227 while(y < dessin.height) {
antoine_carpentier 1:7a7366246b30 228 while(x < dessin.width) {
antoine_carpentier 1:7a7366246b30 229 BSP_LCD_DrawPixel(x + offsetX, y + offsetY, *dataPtr);
antoine_carpentier 1:7a7366246b30 230 dataPtr++;
antoine_carpentier 1:7a7366246b30 231 x++;
antoine_carpentier 1:7a7366246b30 232 }
antoine_carpentier 1:7a7366246b30 233 x = 0;
antoine_carpentier 1:7a7366246b30 234 y++;
antoine_carpentier 1:7a7366246b30 235 }
antoine_carpentier 1:7a7366246b30 236 }
antoine_carpentier 1:7a7366246b30 237 ////////////////FIN DEFINITION DES FONCTIONS DE DESSIN D'IMAGE (L48-L237)/////////////////////
antoine_carpentier 1:7a7366246b30 238
antoine_carpentier 1:7a7366246b30 239
antoine_carpentier 1:7a7366246b30 240 /// FONCTION DE SCAN DE L'ECRAN LED//////
iut_cachan01 0:c78ec5cab98d 241 void scan()
iut_cachan01 0:c78ec5cab98d 242 {
iut_cachan01 0:c78ec5cab98d 243 matrix.scan();
iut_cachan01 0:c78ec5cab98d 244 }
antoine_carpentier 1:7a7366246b30 245 ///FIN FONCTION DE SCAN DE L'ECRAN LED//////
iut_cachan01 0:c78ec5cab98d 246
antoine_carpentier 1:7a7366246b30 247 ///////////////////////// DEBUT DU MAIN (L247-LXXX)////////////////////////////////////////
iut_cachan01 0:c78ec5cab98d 248 int main()
iut_cachan01 0:c78ec5cab98d 249 {
antoine_carpentier 1:7a7366246b30 250 TS_StateTypeDef TS_State; // Definition de l'objet qui servira pour la detection de clic sur la STM32
antoine_carpentier 1:7a7366246b30 251
antoine_carpentier 1:7a7366246b30 252
antoine_carpentier 1:7a7366246b30 253 //Definition des variables locales au main
antoine_carpentier 1:7a7366246b30 254 uint16_t x, y;
antoine_carpentier 1:7a7366246b30 255 uint8_t status;
antoine_carpentier 1:7a7366246b30 256 uint8_t idx;
antoine_carpentier 1:7a7366246b30 257 uint8_t prev_nb_touches = 0;
antoine_carpentier 1:7a7366246b30 258 int i, c=1;
antoine_carpentier 1:7a7366246b30 259 int page = 0;
antoine_carpentier 1:7a7366246b30 260 int couleur=7;//1 rouge; 2 vert; 3 jaune; 4 bleu; 5 violet; 6 cyan; 7 blanc
antoine_carpentier 1:7a7366246b30 261
antoine_carpentier 1:7a7366246b30 262
antoine_carpentier 1:7a7366246b30 263 ////////////////INITIALISATION DE LECRAN DE LA STM32//////////////
antoine_carpentier 1:7a7366246b30 264 BSP_LCD_Init();
antoine_carpentier 1:7a7366246b30 265 BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
antoine_carpentier 1:7a7366246b30 266 BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
antoine_carpentier 1:7a7366246b30 267 //////////////////////////////////////////////////////////////////
antoine_carpentier 1:7a7366246b30 268
antoine_carpentier 1:7a7366246b30 269
antoine_carpentier 1:7a7366246b30 270 status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); // Recupération d'un status
antoine_carpentier 1:7a7366246b30 271 if (status != TS_OK) { // SI LE STATUS N'EST PAS OK L'INIT FAIL
antoine_carpentier 1:7a7366246b30 272 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 273 BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 274 BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
antoine_carpentier 1:7a7366246b30 275 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
antoine_carpentier 1:7a7366246b30 276 }
antoine_carpentier 1:7a7366246b30 277 else { // SINON "INITIALISATION S'AFFICHE
antoine_carpentier 1:7a7366246b30 278 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 279 BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 280 BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
antoine_carpentier 1:7a7366246b30 281 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"INITIALISATION", CENTER_MODE);
antoine_carpentier 1:7a7366246b30 282 }
antoine_carpentier 1:7a7366246b30 283
antoine_carpentier 1:7a7366246b30 284 HAL_Delay(500); // Delais en ms
antoine_carpentier 1:7a7366246b30 285 BSP_LCD_SetFont(&Font12); // Police d'écriture
antoine_carpentier 1:7a7366246b30 286 BSP_LCD_SetBackColor(LCD_COLOR_WHITE); // Fond blanc
antoine_carpentier 1:7a7366246b30 287 BSP_LCD_SetTextColor(LCD_COLOR_BLUE); // Coleur du texte bleu
iut_cachan01 0:c78ec5cab98d 288
antoine_carpentier 1:7a7366246b30 289 initFonts();
antoine_carpentier 1:7a7366246b30 290
antoine_carpentier 1:7a7366246b30 291 matrix.begin((uint8_t *)displaybuf, WIDTH, HEIGHT); // Sauv en mémoire la taille de la matrice LED
antoine_carpentier 1:7a7366246b30 292
antoine_carpentier 1:7a7366246b30 293 scanner.attach(scan, 0.0005); //Gère l'affiche sur la matrice LED
antoine_carpentier 1:7a7366246b30 294 //Un scan trop lent (>0.0009) provoque un effet de scintillement
antoine_carpentier 1:7a7366246b30 295 //Un scan trop rapide (<0.0001) provoque un effet d'allumage des LEDs qui sont sur la même ligne
antoine_carpentier 1:7a7366246b30 296
antoine_carpentier 1:7a7366246b30 297 matrix.clear();
antoine_carpentier 1:7a7366246b30 298 matrix.drawRect(0,0,21,64,4);
antoine_carpentier 1:7a7366246b30 299 matrix.drawRect(21,0,43,64,7);
antoine_carpentier 1:7a7366246b30 300 matrix.drawRect(43,0,64,64,1);
antoine_carpentier 1:7a7366246b30 301 matrix.swap();
antoine_carpentier 1:7a7366246b30 302 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 303 wait(1);
antoine_carpentier 1:7a7366246b30 304 matrix.clear();
antoine_carpentier 1:7a7366246b30 305
antoine_carpentier 1:7a7366246b30 306 for (i=200; i>-400; i-=4)
antoine_carpentier 1:7a7366246b30 307 {
antoine_carpentier 1:7a7366246b30 308 matrix.clear();
antoine_carpentier 1:7a7366246b30 309 matrix.drawCharString(i,0,"MATRICE LED LP SESAM",c,fonts[0]);
antoine_carpentier 1:7a7366246b30 310 matrix.drawCharString(i,15,"CARPENTIER ANTOINE",c,fonts[0]);
antoine_carpentier 1:7a7366246b30 311 matrix.swap();
antoine_carpentier 1:7a7366246b30 312 wait(0.05);
antoine_carpentier 1:7a7366246b30 313 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 314 }
antoine_carpentier 1:7a7366246b30 315 matrix.clear();
antoine_carpentier 1:7a7366246b30 316
antoine_carpentier 1:7a7366246b30 317 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 318
antoine_carpentier 1:7a7366246b30 319 while (1) {
antoine_carpentier 1:7a7366246b30 320
antoine_carpentier 1:7a7366246b30 321 BSP_TS_GetState(&TS_State);
antoine_carpentier 1:7a7366246b30 322 if (TS_State.touchDetected)
antoine_carpentier 1:7a7366246b30 323 {
antoine_carpentier 1:7a7366246b30 324 // Clear lines corresponding to old touches coordinates
antoine_carpentier 1:7a7366246b30 325 if (TS_State.touchDetected < prev_nb_touches)
antoine_carpentier 1:7a7366246b30 326 {
antoine_carpentier 1:7a7366246b30 327 for (idx = (TS_State.touchDetected + 1); idx <= 5; idx++)
antoine_carpentier 1:7a7366246b30 328 {
antoine_carpentier 1:7a7366246b30 329 BSP_LCD_ClearStringLine(idx);
antoine_carpentier 1:7a7366246b30 330 }
antoine_carpentier 1:7a7366246b30 331 }
antoine_carpentier 1:7a7366246b30 332 prev_nb_touches = TS_State.touchDetected;
antoine_carpentier 1:7a7366246b30 333
iut_cachan01 0:c78ec5cab98d 334
antoine_carpentier 1:7a7366246b30 335
antoine_carpentier 1:7a7366246b30 336 for (idx = 0; idx < TS_State.touchDetected; idx++)
antoine_carpentier 1:7a7366246b30 337 {
antoine_carpentier 1:7a7366246b30 338 x = TS_State.touchX[idx];
antoine_carpentier 1:7a7366246b30 339 y = TS_State.touchY[idx];
antoine_carpentier 1:7a7366246b30 340 xb = x/7.5;
antoine_carpentier 1:7a7366246b30 341 yb = y/7.5;
antoine_carpentier 1:7a7366246b30 342
antoine_carpentier 1:7a7366246b30 343 }
antoine_carpentier 1:7a7366246b30 344 }
antoine_carpentier 1:7a7366246b30 345
antoine_carpentier 1:7a7366246b30 346 //VERS PAGE DESSIN
antoine_carpentier 1:7a7366246b30 347 if ((page == 0) && (x>= 10 && x<= 235) && (y>= 10 && y<= 235))
antoine_carpentier 1:7a7366246b30 348 {
antoine_carpentier 1:7a7366246b30 349 x=0;
antoine_carpentier 1:7a7366246b30 350 y=272;
antoine_carpentier 1:7a7366246b30 351 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 352 matrix.clear();
antoine_carpentier 1:7a7366246b30 353 matrix.swap();
antoine_carpentier 1:7a7366246b30 354 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 355 page = 1;
antoine_carpentier 1:7a7366246b30 356 HAL_Delay(300);
antoine_carpentier 1:7a7366246b30 357 }
antoine_carpentier 1:7a7366246b30 358
antoine_carpentier 1:7a7366246b30 359
antoine_carpentier 1:7a7366246b30 360 // VERS DRAPEAU
antoine_carpentier 1:7a7366246b30 361 if ((page==0)&&(x>=245 && x<=470)&&(y>= 10 && y<= 235))
antoine_carpentier 1:7a7366246b30 362 {
antoine_carpentier 1:7a7366246b30 363 x=0;
antoine_carpentier 1:7a7366246b30 364 y=0;
antoine_carpentier 1:7a7366246b30 365 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 366 matrix.clear();
antoine_carpentier 1:7a7366246b30 367 matrix.swap();
antoine_carpentier 1:7a7366246b30 368 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 369 page = 2;
antoine_carpentier 1:7a7366246b30 370 HAL_Delay(100);
antoine_carpentier 1:7a7366246b30 371 }
antoine_carpentier 1:7a7366246b30 372
antoine_carpentier 1:7a7366246b30 373 if (page == 0)
antoine_carpentier 1:7a7366246b30 374 {
antoine_carpentier 1:7a7366246b30 375 page_accueil();
antoine_carpentier 1:7a7366246b30 376 }
antoine_carpentier 1:7a7366246b30 377
antoine_carpentier 1:7a7366246b30 378 else if (page == 2)
antoine_carpentier 1:7a7366246b30 379 {
antoine_carpentier 1:7a7366246b30 380 page_drapeau();
antoine_carpentier 1:7a7366246b30 381
antoine_carpentier 1:7a7366246b30 382 //HAUT GAUCHE
antoine_carpentier 1:7a7366246b30 383 if ((x>= 8 && x<= 236) && (y>= 29 && y<= 103))
antoine_carpentier 1:7a7366246b30 384 {
antoine_carpentier 1:7a7366246b30 385 x = 0;
antoine_carpentier 1:7a7366246b30 386 y = 0;
antoine_carpentier 1:7a7366246b30 387 //ALLEMAGNE
antoine_carpentier 1:7a7366246b30 388 matrix.clear();
antoine_carpentier 1:7a7366246b30 389 matrix.drawRect(0,10,64,21,3);
antoine_carpentier 1:7a7366246b30 390 matrix.drawRect(0,21,64,32,1);
antoine_carpentier 1:7a7366246b30 391 matrix.swap();
antoine_carpentier 1:7a7366246b30 392 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 393
antoine_carpentier 1:7a7366246b30 394 }
antoine_carpentier 1:7a7366246b30 395
antoine_carpentier 1:7a7366246b30 396 // HAUT DROITE
antoine_carpentier 1:7a7366246b30 397 else if ((x>= 244 && x<= 472) && (y>= 29 && y<= 103))
antoine_carpentier 1:7a7366246b30 398 {
antoine_carpentier 1:7a7366246b30 399 x = 0;
antoine_carpentier 1:7a7366246b30 400 y = 0;
antoine_carpentier 1:7a7366246b30 401 // BELGE
antoine_carpentier 1:7a7366246b30 402 matrix.clear();
antoine_carpentier 1:7a7366246b30 403 matrix.drawRect(21,0,43,64,3);
antoine_carpentier 1:7a7366246b30 404 matrix.drawRect(43,0,64,64,1);
antoine_carpentier 1:7a7366246b30 405 matrix.swap();
antoine_carpentier 1:7a7366246b30 406 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 407
antoine_carpentier 1:7a7366246b30 408
antoine_carpentier 1:7a7366246b30 409 }
antoine_carpentier 1:7a7366246b30 410
antoine_carpentier 1:7a7366246b30 411 // MILIEU GAUCHE
antoine_carpentier 1:7a7366246b30 412 else if ((x>= 8 && x<= 236) && (y>= 110 && y<= 184))
antoine_carpentier 1:7a7366246b30 413 {
antoine_carpentier 1:7a7366246b30 414 x = 0;
antoine_carpentier 1:7a7366246b30 415 y = 0;
antoine_carpentier 1:7a7366246b30 416 //BENIN
antoine_carpentier 1:7a7366246b30 417 matrix.clear();
antoine_carpentier 1:7a7366246b30 418 matrix.drawRect(0,0,21,64,2);
antoine_carpentier 1:7a7366246b30 419 matrix.drawRect(21,0,64,16,3);
antoine_carpentier 1:7a7366246b30 420 matrix.drawRect(21,16,64,32,1);
antoine_carpentier 1:7a7366246b30 421 matrix.swap();
antoine_carpentier 1:7a7366246b30 422 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 423
antoine_carpentier 1:7a7366246b30 424 }
antoine_carpentier 1:7a7366246b30 425
antoine_carpentier 1:7a7366246b30 426 // MILIEU DROITE
antoine_carpentier 1:7a7366246b30 427 else if ((x>= 244 && x<= 472) && (y>= 110 && y<= 184))
antoine_carpentier 1:7a7366246b30 428 {
antoine_carpentier 1:7a7366246b30 429 x = 0;
antoine_carpentier 1:7a7366246b30 430 y = 0;
antoine_carpentier 1:7a7366246b30 431 //LGBT
antoine_carpentier 1:7a7366246b30 432 matrix.clear();//1 rouge; 2 vert; 3 jaune; 4 bleu; 5 violet; 6 cyan; 7 blanc
antoine_carpentier 1:7a7366246b30 433 matrix.drawRect(0,0,64,4,7);
antoine_carpentier 1:7a7366246b30 434 matrix.drawRect(0,4,64,8,1);
antoine_carpentier 1:7a7366246b30 435 matrix.drawRect(0,8,64,12,3);
antoine_carpentier 1:7a7366246b30 436 matrix.drawRect(0,12,64,16,2);
antoine_carpentier 1:7a7366246b30 437 matrix.drawRect(0,16,64,20,4);
antoine_carpentier 1:7a7366246b30 438 matrix.drawRect(0,20,64,24,6);
antoine_carpentier 1:7a7366246b30 439 matrix.drawRect(0,24,64,28,5);
antoine_carpentier 1:7a7366246b30 440 matrix.drawRect(0,28,64,32,7);
antoine_carpentier 1:7a7366246b30 441 matrix.swap();
antoine_carpentier 1:7a7366246b30 442 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 443
antoine_carpentier 1:7a7366246b30 444 }
antoine_carpentier 1:7a7366246b30 445
antoine_carpentier 1:7a7366246b30 446 // BAS GAUCHE
antoine_carpentier 1:7a7366246b30 447 else if ((x>= 8 && x<= 236) && (y>= 192 && y<= 266))
antoine_carpentier 1:7a7366246b30 448 {
antoine_carpentier 1:7a7366246b30 449 x = 0;
antoine_carpentier 1:7a7366246b30 450 y = 0;
antoine_carpentier 1:7a7366246b30 451 //FRANCE
antoine_carpentier 1:7a7366246b30 452 matrix.clear();
antoine_carpentier 1:7a7366246b30 453 matrix.drawRect(0,0,21,64,4);
antoine_carpentier 1:7a7366246b30 454 matrix.drawRect(21,0,43,64,7);
antoine_carpentier 1:7a7366246b30 455 matrix.drawRect(43,0,64,64,1);
antoine_carpentier 1:7a7366246b30 456 matrix.swap();
antoine_carpentier 1:7a7366246b30 457 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 458
antoine_carpentier 1:7a7366246b30 459 }
antoine_carpentier 1:7a7366246b30 460
antoine_carpentier 1:7a7366246b30 461
antoine_carpentier 1:7a7366246b30 462 // BAS DROITE
antoine_carpentier 1:7a7366246b30 463 else if ((x>= 244 && x<= 472) && (y>= 192 && y<= 266))
antoine_carpentier 1:7a7366246b30 464 {
antoine_carpentier 1:7a7366246b30 465 x = 0;
antoine_carpentier 1:7a7366246b30 466 y = 0;
antoine_carpentier 1:7a7366246b30 467 //ITALIE
antoine_carpentier 1:7a7366246b30 468 matrix.clear();
antoine_carpentier 1:7a7366246b30 469 matrix.drawRect(0,0,21,64,2);
antoine_carpentier 1:7a7366246b30 470 matrix.drawRect(21,0,43,64,7);
antoine_carpentier 1:7a7366246b30 471 matrix.drawRect(43,0,64,64,1);
antoine_carpentier 1:7a7366246b30 472 matrix.swap();
antoine_carpentier 1:7a7366246b30 473 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 474 }
antoine_carpentier 1:7a7366246b30 475
antoine_carpentier 1:7a7366246b30 476 if ((page==2)&&(x>= 458 && x<= 480) && (y>= 0 && y<= 22))
antoine_carpentier 1:7a7366246b30 477 {
antoine_carpentier 1:7a7366246b30 478 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 479 matrix.clear();
antoine_carpentier 1:7a7366246b30 480 matrix.swap();
antoine_carpentier 1:7a7366246b30 481 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 482 x = 0;
antoine_carpentier 1:7a7366246b30 483 y = 0;
antoine_carpentier 1:7a7366246b30 484 page = 0;
antoine_carpentier 1:7a7366246b30 485
antoine_carpentier 1:7a7366246b30 486 }
antoine_carpentier 1:7a7366246b30 487
antoine_carpentier 1:7a7366246b30 488 }
antoine_carpentier 1:7a7366246b30 489
antoine_carpentier 1:7a7366246b30 490
antoine_carpentier 1:7a7366246b30 491 else if(page == 1)
antoine_carpentier 1:7a7366246b30 492 {
antoine_carpentier 1:7a7366246b30 493 page_dessin();
antoine_carpentier 1:7a7366246b30 494
antoine_carpentier 1:7a7366246b30 495 matrix.swap();
antoine_carpentier 1:7a7366246b30 496 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 497
antoine_carpentier 1:7a7366246b30 498 if (y<241)
antoine_carpentier 1:7a7366246b30 499 {
antoine_carpentier 1:7a7366246b30 500
antoine_carpentier 1:7a7366246b30 501
antoine_carpentier 1:7a7366246b30 502 if(couleur != 0)
antoine_carpentier 1:7a7366246b30 503 {
antoine_carpentier 1:7a7366246b30 504 BSP_LCD_DrawPixel(TS_State.touchX[0], TS_State.touchY[0], LCD_COLOR_ORANGE);
antoine_carpentier 1:7a7366246b30 505 matrix.drawPoint(xb,yb,couleur);
antoine_carpentier 1:7a7366246b30 506 }
antoine_carpentier 1:7a7366246b30 507 else
antoine_carpentier 1:7a7366246b30 508 {
antoine_carpentier 1:7a7366246b30 509 BSP_LCD_DrawPixel(TS_State.touchX[0], TS_State.touchY[0], LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 510 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 511 BSP_LCD_FillRect(x-7.5,y-7.5,22.5,22.5);
antoine_carpentier 1:7a7366246b30 512
antoine_carpentier 1:7a7366246b30 513 matrix.drawPoint(xb,yb,couleur);
antoine_carpentier 1:7a7366246b30 514 matrix.drawPoint(xb+1,yb+1,couleur);
antoine_carpentier 1:7a7366246b30 515 matrix.drawPoint(xb-1,yb-1,couleur);
antoine_carpentier 1:7a7366246b30 516 matrix.drawPoint(xb+1,yb-1,couleur);
antoine_carpentier 1:7a7366246b30 517 matrix.drawPoint(xb-1,yb+1,couleur);
antoine_carpentier 1:7a7366246b30 518 matrix.drawPoint(xb-1,yb,couleur);
antoine_carpentier 1:7a7366246b30 519 matrix.drawPoint(xb,yb-1,couleur);
antoine_carpentier 1:7a7366246b30 520 matrix.drawPoint(xb+1,yb,couleur);
antoine_carpentier 1:7a7366246b30 521 matrix.drawPoint(xb,yb+1,couleur);
antoine_carpentier 1:7a7366246b30 522 }
antoine_carpentier 1:7a7366246b30 523
iut_cachan01 0:c78ec5cab98d 524 matrix.swap();
iut_cachan01 0:c78ec5cab98d 525 while (!matrix.synchro());
iut_cachan01 0:c78ec5cab98d 526 }
antoine_carpentier 1:7a7366246b30 527
antoine_carpentier 1:7a7366246b30 528
antoine_carpentier 1:7a7366246b30 529 if (x<=43 && x>=2 && y<=270 && y>=242 )
iut_cachan01 0:c78ec5cab98d 530 {
antoine_carpentier 1:7a7366246b30 531 p=0;
antoine_carpentier 1:7a7366246b30 532 couleur = 1;
antoine_carpentier 1:7a7366246b30 533 }
antoine_carpentier 1:7a7366246b30 534
antoine_carpentier 1:7a7366246b30 535 if (x<=86 && x>=45 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 536 {
antoine_carpentier 1:7a7366246b30 537 p=0;
antoine_carpentier 1:7a7366246b30 538 couleur = 2;
antoine_carpentier 1:7a7366246b30 539 }
iut_cachan01 0:c78ec5cab98d 540
antoine_carpentier 1:7a7366246b30 541 if (x<=129 && x>=88 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 542 {
antoine_carpentier 1:7a7366246b30 543 p=0;
antoine_carpentier 1:7a7366246b30 544 couleur = 4;
antoine_carpentier 1:7a7366246b30 545 }
antoine_carpentier 1:7a7366246b30 546
antoine_carpentier 1:7a7366246b30 547 if (x<=172 && x>=131 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 548 {
antoine_carpentier 1:7a7366246b30 549 p=0;
antoine_carpentier 1:7a7366246b30 550 couleur = 5;
antoine_carpentier 1:7a7366246b30 551 }
antoine_carpentier 1:7a7366246b30 552
antoine_carpentier 1:7a7366246b30 553 if (x<=215 && x>=174 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 554 {
antoine_carpentier 1:7a7366246b30 555 p=0;
antoine_carpentier 1:7a7366246b30 556 couleur = 6;
antoine_carpentier 1:7a7366246b30 557 }
antoine_carpentier 1:7a7366246b30 558
antoine_carpentier 1:7a7366246b30 559 if (x<=258 && x>=217 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 560 {
antoine_carpentier 1:7a7366246b30 561 p=0;
antoine_carpentier 1:7a7366246b30 562 couleur = 3;
antoine_carpentier 1:7a7366246b30 563 }
iut_cachan01 0:c78ec5cab98d 564
antoine_carpentier 1:7a7366246b30 565 if (x<=301 && x>=260 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 566 {
antoine_carpentier 1:7a7366246b30 567 p=0;
antoine_carpentier 1:7a7366246b30 568 couleur = 7;
antoine_carpentier 1:7a7366246b30 569 }
antoine_carpentier 1:7a7366246b30 570
antoine_carpentier 1:7a7366246b30 571 if (x<=344 && x>=303 && y<=270 && y>=242 )
antoine_carpentier 1:7a7366246b30 572 {
antoine_carpentier 1:7a7366246b30 573 p=1;
antoine_carpentier 1:7a7366246b30 574 }
antoine_carpentier 1:7a7366246b30 575
antoine_carpentier 1:7a7366246b30 576 // GOMME
antoine_carpentier 1:7a7366246b30 577 if (x<=396 && x>=355 && y<=267 && y>=254 )
antoine_carpentier 1:7a7366246b30 578 {
antoine_carpentier 1:7a7366246b30 579 p=0;
antoine_carpentier 1:7a7366246b30 580 couleur = 0;
antoine_carpentier 1:7a7366246b30 581 }
iut_cachan01 0:c78ec5cab98d 582
antoine_carpentier 1:7a7366246b30 583 // EFFACE TOUT
antoine_carpentier 1:7a7366246b30 584 if (x<=438 && x>=410 && y<=267 && y>=254 )
antoine_carpentier 1:7a7366246b30 585 {
antoine_carpentier 1:7a7366246b30 586 x=0;
antoine_carpentier 1:7a7366246b30 587 y=0;
antoine_carpentier 1:7a7366246b30 588 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 589 matrix.clear();
antoine_carpentier 1:7a7366246b30 590 }
antoine_carpentier 1:7a7366246b30 591
antoine_carpentier 1:7a7366246b30 592 if ((x>= 458 && x<= 480) && (y>= 240 && y<= 270))
antoine_carpentier 1:7a7366246b30 593 {
antoine_carpentier 1:7a7366246b30 594 BSP_LCD_Clear(LCD_COLOR_WHITE);
antoine_carpentier 1:7a7366246b30 595 matrix.clear();
antoine_carpentier 1:7a7366246b30 596 matrix.swap();
antoine_carpentier 1:7a7366246b30 597 while (!matrix.synchro());
antoine_carpentier 1:7a7366246b30 598 x = 0;
antoine_carpentier 1:7a7366246b30 599 y = 0;
antoine_carpentier 1:7a7366246b30 600 page = 0;
antoine_carpentier 1:7a7366246b30 601 }
antoine_carpentier 1:7a7366246b30 602
antoine_carpentier 1:7a7366246b30 603
antoine_carpentier 1:7a7366246b30 604 //MULTICOLOR
antoine_carpentier 1:7a7366246b30 605 if (p==1)
antoine_carpentier 1:7a7366246b30 606 {
antoine_carpentier 1:7a7366246b30 607
antoine_carpentier 1:7a7366246b30 608 if (x<68 && y<91)couleur=7;
antoine_carpentier 1:7a7366246b30 609 if (x>=68 && x<136 && y<91)couleur=6;
antoine_carpentier 1:7a7366246b30 610 if (x>=136 && x<204 && y<91)couleur=5;
antoine_carpentier 1:7a7366246b30 611 if (x>=204 && x<272 && y<91)couleur=3;
antoine_carpentier 1:7a7366246b30 612 if (x>=272 && x<340 && y<91)couleur=4;
antoine_carpentier 1:7a7366246b30 613 if (x>=340 && x<408 && y<91)couleur=2;
antoine_carpentier 1:7a7366246b30 614 if (x>=408 && x<480 && y<91)couleur=1;
antoine_carpentier 1:7a7366246b30 615
antoine_carpentier 1:7a7366246b30 616 if (x<68 && y<91)couleur=1;
antoine_carpentier 1:7a7366246b30 617 if (x>=68 && x<136 && y<181 && y>90)couleur=2;
antoine_carpentier 1:7a7366246b30 618 if (x>=136 && x<204 && y<181 && y>90)couleur=3;
antoine_carpentier 1:7a7366246b30 619 if (x>=204 && x<272 && y<181 && y>90)couleur=4;
antoine_carpentier 1:7a7366246b30 620 if (x>=272 && x<340 && y<181 && y>90)couleur=5;
antoine_carpentier 1:7a7366246b30 621 if (x>=340 && x<408 && y<181 && y>90)couleur=6;
antoine_carpentier 1:7a7366246b30 622 if (x>=408 && x<480 && y<181 && y>90)couleur=7;
antoine_carpentier 1:7a7366246b30 623
antoine_carpentier 1:7a7366246b30 624 if (x<68 && y<91)couleur=5;
antoine_carpentier 1:7a7366246b30 625 if (x>=68 && x<136 && y>180)couleur=7;
antoine_carpentier 1:7a7366246b30 626 if (x>=136 && x<204 && y>180)couleur=2;
antoine_carpentier 1:7a7366246b30 627 if (x>=204 && x<272 && y>180)couleur=4;
antoine_carpentier 1:7a7366246b30 628 if (x>=272 && x<340 && y>180)couleur=1;
antoine_carpentier 1:7a7366246b30 629 if (x>=340 && x<408 && y>180)couleur=3;
antoine_carpentier 1:7a7366246b30 630 if (x>=408 && x<480 && y>180)couleur=6;
antoine_carpentier 1:7a7366246b30 631
iut_cachan01 0:c78ec5cab98d 632 }
antoine_carpentier 1:7a7366246b30 633 }//FIN IF PAGE == 1
antoine_carpentier 1:7a7366246b30 634
antoine_carpentier 1:7a7366246b30 635
antoine_carpentier 1:7a7366246b30 636
antoine_carpentier 1:7a7366246b30 637
antoine_carpentier 1:7a7366246b30 638 }// FIN WHILE
antoine_carpentier 1:7a7366246b30 639
iut_cachan01 0:c78ec5cab98d 640
antoine_carpentier 1:7a7366246b30 641 }// FIN MAIN
antoine_carpentier 1:7a7366246b30 642 ///////////////////////// FIN DU MAIN (L247-L691)////////////////////////////////////////
iut_cachan01 0:c78ec5cab98d 643
iut_cachan01 0:c78ec5cab98d 644
iut_cachan01 0:c78ec5cab98d 645
antoine_carpentier 1:7a7366246b30 646
antoine_carpentier 1:7a7366246b30 647
antoine_carpentier 1:7a7366246b30 648
antoine_carpentier 1:7a7366246b30 649
antoine_carpentier 1:7a7366246b30 650
iut_cachan01 0:c78ec5cab98d 651
antoine_carpentier 1:7a7366246b30 652 //////////////////// FONCTIONS PAGES (L700-L773) ///////////////////////////////////////////////////////
antoine_carpentier 1:7a7366246b30 653 void page_accueil()
antoine_carpentier 1:7a7366246b30 654 {
antoine_carpentier 1:7a7366246b30 655 BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
antoine_carpentier 1:7a7366246b30 656 BSP_LCD_DrawRect(10, 10, 225, 225); //Bouton dessin
antoine_carpentier 1:7a7366246b30 657 BSP_LCD_DrawRect(245, 10, 225, 225); //Bouton drapeau
antoine_carpentier 1:7a7366246b30 658
antoine_carpentier 1:7a7366246b30 659 sprintf((char*)text, "DESSIN");
antoine_carpentier 1:7a7366246b30 660 BSP_LCD_DisplayStringAt(95, LINE(20), (uint8_t *)&text, LEFT_MODE);
antoine_carpentier 1:7a7366246b30 661 drawImage_dessin(15,15);
antoine_carpentier 1:7a7366246b30 662
antoine_carpentier 1:7a7366246b30 663 sprintf((char*)text,"DRAPEAU");
antoine_carpentier 1:7a7366246b30 664 BSP_LCD_DisplayStringAt(120, LINE(20), (uint8_t *)&text, CENTER_MODE);
antoine_carpentier 1:7a7366246b30 665 drawImage_drapeau(250, 15);
antoine_carpentier 1:7a7366246b30 666 }
antoine_carpentier 1:7a7366246b30 667
iut_cachan01 0:c78ec5cab98d 668
antoine_carpentier 1:7a7366246b30 669 void page_dessin()
antoine_carpentier 1:7a7366246b30 670 {
antoine_carpentier 1:7a7366246b30 671 // ROUGE
antoine_carpentier 1:7a7366246b30 672 BSP_LCD_SetTextColor(LCD_COLOR_RED);
antoine_carpentier 1:7a7366246b30 673 BSP_LCD_FillRect(2,242,41, 28);
antoine_carpentier 1:7a7366246b30 674 //VERT
antoine_carpentier 1:7a7366246b30 675 BSP_LCD_SetTextColor(LCD_COLOR_GREEN);
antoine_carpentier 1:7a7366246b30 676 BSP_LCD_FillRect(45,242,41, 28);
antoine_carpentier 1:7a7366246b30 677 //BLEU
antoine_carpentier 1:7a7366246b30 678 BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
antoine_carpentier 1:7a7366246b30 679 BSP_LCD_FillRect(88,242,41, 28);
antoine_carpentier 1:7a7366246b30 680 //VIOLET
antoine_carpentier 1:7a7366246b30 681 BSP_LCD_SetTextColor(LCD_COLOR_MAGENTA);
antoine_carpentier 1:7a7366246b30 682 BSP_LCD_FillRect(131,242,41, 28);
antoine_carpentier 1:7a7366246b30 683 //CYAN
antoine_carpentier 1:7a7366246b30 684 BSP_LCD_SetTextColor(LCD_COLOR_CYAN);
antoine_carpentier 1:7a7366246b30 685 BSP_LCD_FillRect(174,242,41, 28);
antoine_carpentier 1:7a7366246b30 686 //JAUNE
antoine_carpentier 1:7a7366246b30 687 BSP_LCD_SetTextColor(LCD_COLOR_YELLOW);
antoine_carpentier 1:7a7366246b30 688 BSP_LCD_FillRect(217,242,41, 28);
antoine_carpentier 1:7a7366246b30 689 //BLANC
antoine_carpentier 1:7a7366246b30 690 BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
antoine_carpentier 1:7a7366246b30 691 BSP_LCD_DrawRect(260, 242, 41, 28);
antoine_carpentier 1:7a7366246b30 692 //MULTICOLOR
antoine_carpentier 1:7a7366246b30 693 BSP_LCD_SetTextColor(LCD_COLOR_RED);
antoine_carpentier 1:7a7366246b30 694 BSP_LCD_FillRect(303,242,10, 28);
antoine_carpentier 1:7a7366246b30 695 BSP_LCD_SetTextColor(LCD_COLOR_GREEN);
antoine_carpentier 1:7a7366246b30 696 BSP_LCD_FillRect(314,242,10, 28);
antoine_carpentier 1:7a7366246b30 697 BSP_LCD_SetTextColor(LCD_COLOR_YELLOW);
antoine_carpentier 1:7a7366246b30 698 BSP_LCD_FillRect(325,242,10, 28);
antoine_carpentier 1:7a7366246b30 699 BSP_LCD_SetTextColor(LCD_COLOR_CYAN);
antoine_carpentier 1:7a7366246b30 700 BSP_LCD_FillRect(336,242,10, 28);
antoine_carpentier 1:7a7366246b30 701
antoine_carpentier 1:7a7366246b30 702 drawImage_gomme(355,245); //GOMME
antoine_carpentier 1:7a7366246b30 703 drawImage_croix(410,243); //EFFACER TOUT
antoine_carpentier 1:7a7366246b30 704 drawImage_fleche(445,245); // Retour
antoine_carpentier 1:7a7366246b30 705
antoine_carpentier 1:7a7366246b30 706 BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
antoine_carpentier 1:7a7366246b30 707 BSP_LCD_DrawHLine(0,240,480);
iut_cachan01 0:c78ec5cab98d 708 }
iut_cachan01 0:c78ec5cab98d 709
antoine_carpentier 1:7a7366246b30 710 void page_drapeau()
antoine_carpentier 1:7a7366246b30 711 {
antoine_carpentier 1:7a7366246b30 712 // Au dessus 22px de la barre + 7//
antoine_carpentier 1:7a7366246b30 713 /* 8px */ BSP_LCD_DrawRect(8, 29, 228, 74); /* 8px */ BSP_LCD_DrawRect(244, 29, 228, 74); /* 8px */
antoine_carpentier 1:7a7366246b30 714 drawImage_allemagne(10,31); /* 7px */ drawImage_belgique (246,31);
antoine_carpentier 1:7a7366246b30 715
antoine_carpentier 1:7a7366246b30 716 /* 8px */ BSP_LCD_DrawRect(8, 110, 228, 74); /* 8px */ BSP_LCD_DrawRect(244, 110, 228, 74); /* 8px */
antoine_carpentier 1:7a7366246b30 717 drawImage_benin (10,111); /* 7px */ drawImage_lgbt (246,111);
antoine_carpentier 1:7a7366246b30 718
antoine_carpentier 1:7a7366246b30 719 /* 8px */ BSP_LCD_DrawRect(8, 191, 228, 73); /* 8px */ BSP_LCD_DrawRect(244, 191, 228, 73); /* 8px */
antoine_carpentier 1:7a7366246b30 720 drawImage_france (10,192); drawImage_italie (246,192);
antoine_carpentier 1:7a7366246b30 721
antoine_carpentier 1:7a7366246b30 722 drawImage_fleche(447,0);// RETOUR
antoine_carpentier 1:7a7366246b30 723
antoine_carpentier 1:7a7366246b30 724 }
antoine_carpentier 1:7a7366246b30 725 //////////////////// FIN DES FONCTIONS PAGES (L693-L766) ///////////////////////////////////////////////////////
iut_cachan01 0:c78ec5cab98d 726
antoine_carpentier 1:7a7366246b30 727
antoine_carpentier 1:7a7366246b30 728
antoine_carpentier 1:7a7366246b30 729
antoine_carpentier 1:7a7366246b30 730
antoine_carpentier 1:7a7366246b30 731
antoine_carpentier 1:7a7366246b30 732
antoine_carpentier 1:7a7366246b30 733
antoine_carpentier 1:7a7366246b30 734
antoine_carpentier 1:7a7366246b30 735
antoine_carpentier 1:7a7366246b30 736
antoine_carpentier 1:7a7366246b30 737
antoine_carpentier 1:7a7366246b30 738
antoine_carpentier 1:7a7366246b30 739
antoine_carpentier 1:7a7366246b30 740
antoine_carpentier 1:7a7366246b30 741
antoine_carpentier 1:7a7366246b30 742
antoine_carpentier 1:7a7366246b30 743