Demo for u0LED128-G1 4D Systems 128x128 Graphic Display This simple demo demonstrates the use of graphical display controls. The library construction does not use a C ++ class. Christian Dupaty 03/2021

https://os.mbed.com/media/uploads/cdupaty/uoled-128-g1.jpg

Demo for u0LED128-G1 4D Systems 128x128 Graphic Display This simple demo demonstrates the use of graphical display controls. The library construction does not use a C ++ class.

Data Sheet : https://www.farnell.com/datasheets/356896.pdf

Ref 4DSystems for G2 version : https://4dsystems.com.au/uoled-128-g2

Committer:
cdupaty
Date:
Sat Mar 13 09:16:08 2021 +0000
Revision:
5:791713e36c37
Parent:
4:a2d1329d042c
Demo for u0LED128-G1; 4D Systems 128x128 Graphic Display; This simple demo demonstrates the use of graphical display controls.; The library construction does not use a C ++ class.; Christian Dupaty; 03/2021

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cdupaty 5:791713e36c37 1
cdupaty 5:791713e36c37 2 // C.Dupaty 09/2010 adaptation STM32 03/2021
cdupaty 5:791713e36c37 3 // demo gestion afficheur graphique uOLED-128-G1 (SGC)
cdupaty 5:791713e36c37 4 // les équivalences (#define) des commandes sont dans GSGCdef.h
cdupaty 5:791713e36c37 5 // le descritif des commande uOLED est dans : GOLDELOX-SGC-COMMANDS-SIS-rev3.pdf
cdupaty 5:791713e36c37 6 // le description des connexions et utilitaires uOLED sont dans : uOLED-128-G1SGC-DS-rev4.pdf
cdupaty 5:791713e36c37 7 // La carte uSD a été chargé depuis un PC avec 3 images et une vidéo à partir de l'utilitaire GraphicsComposer.exe
cdupaty 5:791713e36c37 8 // ce dernier a genere un fichier test.txt qui contient entre autre les adresses de ce objets dans la mémoire uSD
cdupaty 5:791713e36c37 9
cdupaty 5:791713e36c37 10 // PC_1 : TX (donc RX de uOLED)
cdupaty 5:791713e36c37 11 // PC_0 : RX (donc TX de uOLED)
cdupaty 5:791713e36c37 12 // VSS : 0v
cdupaty 5:791713e36c37 13 // GND : 5v
cdupaty 5:791713e36c37 14 // VDD : Reset uOLED
WilliamMarshQMUL 2:e92d97ac59e4 15
WilliamMarshQMUL 0:75835b5692b9 16 #include "mbed.h"
cdupaty 5:791713e36c37 17 #include <stdio.h>
cdupaty 5:791713e36c37 18
cdupaty 5:791713e36c37 19 #include "uOLEDLIB.h"
WilliamMarshQMUL 0:75835b5692b9 20
WilliamMarshQMUL 0:75835b5692b9 21 DigitalOut myled(LED1);
cdupaty 5:791713e36c37 22 DigitalIn bouton(USER_BUTTON);
cdupaty 5:791713e36c37 23 DigitalOut reset(PB_0);
WilliamMarshQMUL 0:75835b5692b9 24 Serial pc(USBTX, USBRX); // tx, rx
cdupaty 5:791713e36c37 25 Serial uOLED(PC_1,PC_0); // tx, rx
cdupaty 5:791713e36c37 26
cdupaty 5:791713e36c37 27 #define OMER 0x014120 // adresses des images dans la uSD (voir fichier test.txt)
cdupaty 5:791713e36c37 28 #define debug
cdupaty 5:791713e36c37 29
cdupaty 5:791713e36c37 30 char chaine1[]="Test uOLED-128-G1 (SGC)";
cdupaty 5:791713e36c37 31 char chaine2[]="presser bouton bleu";
cdupaty 5:791713e36c37 32
cdupaty 5:791713e36c37 33 unsigned char ack(void)
cdupaty 5:791713e36c37 34 {
cdupaty 5:791713e36c37 35 unsigned char resp;
cdupaty 5:791713e36c37 36 while (!uOLED.readable()) wait_ms(1); // wait for screen answer
cdupaty 5:791713e36c37 37 resp = uOLED.getc();
cdupaty 5:791713e36c37 38 #ifdef debug
cdupaty 5:791713e36c37 39 if(resp!=ACK) pc.printf("erreur d acquitement\n");
cdupaty 5:791713e36c37 40 else printf("Acquitement OK\n");
cdupaty 5:791713e36c37 41 #endif
cdupaty 5:791713e36c37 42 return(resp);
cdupaty 5:791713e36c37 43 }
cdupaty 5:791713e36c37 44
cdupaty 5:791713e36c37 45
cdupaty 5:791713e36c37 46 void couleur_fond(int color)
cdupaty 5:791713e36c37 47 {
cdupaty 5:791713e36c37 48 #ifdef debug
cdupaty 5:791713e36c37 49 pc.printf("Commande GSGC_BACKGND %d\n",color);
cdupaty 5:791713e36c37 50 #endif
cdupaty 5:791713e36c37 51 uOLED.putc(GSGC_BACKGND);
cdupaty 5:791713e36c37 52 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 53 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 54 ack();
cdupaty 5:791713e36c37 55 }
cdupaty 5:791713e36c37 56
cdupaty 5:791713e36c37 57 void rectangle(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned int color)
cdupaty 5:791713e36c37 58 {
cdupaty 5:791713e36c37 59 #ifdef debug
cdupaty 5:791713e36c37 60 pc.printf("Commande GSGC_RECTANGLE , %d, %d, %d, %d\n",x1,y1,x2,y2,color);
cdupaty 5:791713e36c37 61 #endif
cdupaty 5:791713e36c37 62 uOLED.putc(GSGC_RECTANGLE);
cdupaty 5:791713e36c37 63 uOLED.putc(x1);
cdupaty 5:791713e36c37 64 uOLED.putc(y1);
cdupaty 5:791713e36c37 65 uOLED.putc(x2);
cdupaty 5:791713e36c37 66 uOLED.putc(y2);
cdupaty 5:791713e36c37 67 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 68 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 69 ack();
cdupaty 5:791713e36c37 70 }
cdupaty 5:791713e36c37 71
cdupaty 5:791713e36c37 72 void cercle(unsigned char x,unsigned char y,unsigned char radius,unsigned int color)
cdupaty 5:791713e36c37 73 {
cdupaty 5:791713e36c37 74 #ifdef debug
cdupaty 5:791713e36c37 75 pc.printf("Commande GSGC_CIRCLE , %d, %d, %d, %d\n",x,y,radius,color);
cdupaty 5:791713e36c37 76 #endif
cdupaty 5:791713e36c37 77 uOLED.putc(GSGC_CIRCLE);
cdupaty 5:791713e36c37 78 uOLED.putc(x);
cdupaty 5:791713e36c37 79 uOLED.putc(y);
cdupaty 5:791713e36c37 80 uOLED.putc(radius);
cdupaty 5:791713e36c37 81 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 82 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 83 ack();
cdupaty 5:791713e36c37 84 }
cdupaty 5:791713e36c37 85
cdupaty 5:791713e36c37 86 void triangle(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned char x3,unsigned char y3,unsigned int color)
cdupaty 5:791713e36c37 87 {
cdupaty 5:791713e36c37 88 #ifdef debug
cdupaty 5:791713e36c37 89 pc.printf("Commande GSGC_TRIANGLE , %d, %d, %d, %d, %d, %d, %d\n",x1,y1,x2,y2,x3,y3,color);
cdupaty 5:791713e36c37 90 #endif
cdupaty 5:791713e36c37 91 uOLED.putc(GSGC_TRIANGLE);
cdupaty 5:791713e36c37 92 uOLED.putc(x1);
cdupaty 5:791713e36c37 93 uOLED.putc(y1);
cdupaty 5:791713e36c37 94 uOLED.putc(x2);
cdupaty 5:791713e36c37 95 uOLED.putc(y2);
cdupaty 5:791713e36c37 96 uOLED.putc(x3);
cdupaty 5:791713e36c37 97 uOLED.putc(y3);
cdupaty 5:791713e36c37 98 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 99 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 100 ack();
cdupaty 5:791713e36c37 101 }
cdupaty 5:791713e36c37 102
cdupaty 5:791713e36c37 103 void ligne(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned int color)
cdupaty 5:791713e36c37 104 {
cdupaty 5:791713e36c37 105 #ifdef debug
cdupaty 5:791713e36c37 106 pc.printf("Commande GSGC_LINE , %d, %d, %d, %d\n",x1,y1,x2,y2,color);
cdupaty 5:791713e36c37 107 #endif
cdupaty 5:791713e36c37 108 uOLED.putc(GSGC_LINE);
cdupaty 5:791713e36c37 109 uOLED.putc(x1);
cdupaty 5:791713e36c37 110 uOLED.putc(y1);
cdupaty 5:791713e36c37 111 uOLED.putc(x2);
cdupaty 5:791713e36c37 112 uOLED.putc(y2);
cdupaty 5:791713e36c37 113 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 114 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 115 ack();
cdupaty 5:791713e36c37 116 }
cdupaty 5:791713e36c37 117
cdupaty 5:791713e36c37 118 void opaque(unsigned char mode)
cdupaty 5:791713e36c37 119 {
cdupaty 5:791713e36c37 120 #ifdef debug
cdupaty 5:791713e36c37 121 pc.printf("Commande GSGC_SETOPAQUE , %d\n",mode);
cdupaty 5:791713e36c37 122 #endif
cdupaty 5:791713e36c37 123 uOLED.putc(GSGC_SETOPAQUE);
cdupaty 5:791713e36c37 124 uOLED.putc(mode);
cdupaty 5:791713e36c37 125 ack();
cdupaty 5:791713e36c37 126 }
cdupaty 5:791713e36c37 127
cdupaty 5:791713e36c37 128 void pixel(unsigned char x1,unsigned char y1,unsigned int color)
cdupaty 5:791713e36c37 129 {
cdupaty 5:791713e36c37 130 #ifdef debug
cdupaty 5:791713e36c37 131 pc.printf("Commande GSGC_PIXEL , %d, %d\n",x1,y1,color);
cdupaty 5:791713e36c37 132 #endif
cdupaty 5:791713e36c37 133 uOLED.putc(GSGC_PIXEL);
cdupaty 5:791713e36c37 134 uOLED.putc(x1);
cdupaty 5:791713e36c37 135 uOLED.putc(y1);
cdupaty 5:791713e36c37 136 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 137 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 138 ack();
cdupaty 5:791713e36c37 139 }
cdupaty 5:791713e36c37 140
cdupaty 5:791713e36c37 141 void penSize(unsigned char size)
cdupaty 5:791713e36c37 142 {
cdupaty 5:791713e36c37 143 #ifdef debug
cdupaty 5:791713e36c37 144 pc.printf("Commande GSGC_SETPEN , %d\n",size);
cdupaty 5:791713e36c37 145 #endif
cdupaty 5:791713e36c37 146 uOLED.putc(GSGC_SETPEN);
cdupaty 5:791713e36c37 147 uOLED.putc(size);
cdupaty 5:791713e36c37 148 ack();
cdupaty 5:791713e36c37 149 }
cdupaty 5:791713e36c37 150
cdupaty 5:791713e36c37 151 void afftexte_graphic(char x, char y, char font,int color , char w, char h, char * mess)
cdupaty 5:791713e36c37 152 {
cdupaty 5:791713e36c37 153 #ifdef debug
cdupaty 5:791713e36c37 154 pc.printf("Commande GSGC_STRINGGFX , %d, %d, %d, %d,%d, %d, %s\n",x,y,font,color,w,h,mess);
cdupaty 5:791713e36c37 155 #endif
cdupaty 5:791713e36c37 156 uOLED.putc(GSGC_STRINGGFX);
cdupaty 5:791713e36c37 157 uOLED.putc(x);
cdupaty 5:791713e36c37 158 uOLED.putc(y);
cdupaty 5:791713e36c37 159 uOLED.putc(font);
cdupaty 5:791713e36c37 160 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 161 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 162 uOLED.putc(w);
cdupaty 5:791713e36c37 163 uOLED.putc(h);
cdupaty 5:791713e36c37 164 uOLED.printf("%s",mess);
cdupaty 5:791713e36c37 165 uOLED.putc(0);
cdupaty 5:791713e36c37 166 ack();
cdupaty 5:791713e36c37 167 }
WilliamMarshQMUL 0:75835b5692b9 168
cdupaty 5:791713e36c37 169 void afftexte_text(char x,char y,char font,int color,char* mess)
cdupaty 5:791713e36c37 170 {
cdupaty 5:791713e36c37 171 #ifdef debug
cdupaty 5:791713e36c37 172 pc.printf("Commande GSGC_STRINGTXT , %d, %d, %d, %d, %s\n",x,y,font,color,mess);
cdupaty 5:791713e36c37 173 #endif
cdupaty 5:791713e36c37 174 uOLED.putc(GSGC_STRINGTXT);
cdupaty 5:791713e36c37 175 uOLED.putc(x);
cdupaty 5:791713e36c37 176 uOLED.putc(y);
cdupaty 5:791713e36c37 177 uOLED.putc(font);
cdupaty 5:791713e36c37 178 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 179 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 180 uOLED.printf("%s",mess);
cdupaty 5:791713e36c37 181 uOLED.putc(0);
cdupaty 5:791713e36c37 182 ack();
cdupaty 5:791713e36c37 183 }
cdupaty 5:791713e36c37 184
cdupaty 5:791713e36c37 185 void affiche_image(char x, char y, char w, char h, char color, unsigned long ad)
cdupaty 5:791713e36c37 186 {
cdupaty 5:791713e36c37 187 #ifdef debug
cdupaty 5:791713e36c37 188 pc.printf("Commande GSGC_MCIMAGE , %d, %d, %d, %d, %d, %X\n",x,y,w,h,color,ad);
cdupaty 5:791713e36c37 189 #endif
cdupaty 5:791713e36c37 190 uOLED.putc('@');
cdupaty 5:791713e36c37 191 uOLED.putc(GSGC_MCIMAGE);
cdupaty 5:791713e36c37 192 uOLED.putc(x);
cdupaty 5:791713e36c37 193 uOLED.putc(y);
cdupaty 5:791713e36c37 194 uOLED.putc(w);
cdupaty 5:791713e36c37 195 uOLED.putc(h);
cdupaty 5:791713e36c37 196 uOLED.putc(color);
cdupaty 5:791713e36c37 197 uOLED.putc(ad>>16);
cdupaty 5:791713e36c37 198 uOLED.putc((ad>>8)&0x0000FF);
cdupaty 5:791713e36c37 199 uOLED.putc(ad&0x0000FF);
cdupaty 5:791713e36c37 200 ack();
cdupaty 5:791713e36c37 201 }
cdupaty 5:791713e36c37 202
cdupaty 5:791713e36c37 203 void affiche_video(char x, char y, char w, char h, char color, char delay, int frames,unsigned long ad)
cdupaty 5:791713e36c37 204 {
cdupaty 5:791713e36c37 205 #ifdef debug
cdupaty 5:791713e36c37 206 pc.printf("Commande GSGC_MCVIDEO , %d, %d, %d, %d, %d ,%d %d, %X\n",x,y,w,h,color,delay,frames,ad);
cdupaty 5:791713e36c37 207 #endif
cdupaty 5:791713e36c37 208 uOLED.putc('@');
cdupaty 5:791713e36c37 209 uOLED.putc(GSGC_MCVIDEO);
cdupaty 5:791713e36c37 210 uOLED.putc(x);
cdupaty 5:791713e36c37 211 uOLED.putc(y);
cdupaty 5:791713e36c37 212 uOLED.putc(w);
cdupaty 5:791713e36c37 213 uOLED.putc(h);
cdupaty 5:791713e36c37 214 uOLED.putc(color);
cdupaty 5:791713e36c37 215 uOLED.putc(delay);
cdupaty 5:791713e36c37 216 uOLED.putc(frames>>8);
cdupaty 5:791713e36c37 217 uOLED.putc(frames&0x00FF);
cdupaty 5:791713e36c37 218 uOLED.putc(ad>>16);
cdupaty 5:791713e36c37 219 uOLED.putc((ad>>8)&0x0000FF);
cdupaty 5:791713e36c37 220 uOLED.putc(ad&0x0000FF);
cdupaty 5:791713e36c37 221 ack();
cdupaty 5:791713e36c37 222 }
cdupaty 5:791713e36c37 223
cdupaty 5:791713e36c37 224 void txtBouton(char state, char x, char y, int color, char font, int textcolor, char w, char h, char *s)
cdupaty 5:791713e36c37 225 {
cdupaty 5:791713e36c37 226 #ifdef debug
cdupaty 5:791713e36c37 227 pc.printf("Commande GSGC_BUTTONTXT , %d, %d, %d, %d, %d ,%d %d, %d, %X, %d\n",state,x,y,color,font,textcolor,w,h,s);
cdupaty 5:791713e36c37 228 #endif
cdupaty 5:791713e36c37 229 uOLED.putc(GSGC_BUTTONTXT);
cdupaty 5:791713e36c37 230 uOLED.putc(state);
cdupaty 5:791713e36c37 231 uOLED.putc(x);
cdupaty 5:791713e36c37 232 uOLED.putc(y);
cdupaty 5:791713e36c37 233 uOLED.putc(color>>8);
cdupaty 5:791713e36c37 234 uOLED.putc(color&0x00FF);
cdupaty 5:791713e36c37 235 uOLED.putc(font);
cdupaty 5:791713e36c37 236 uOLED.putc(textcolor>>8);
cdupaty 5:791713e36c37 237 uOLED.putc(textcolor&0x00FF);
cdupaty 5:791713e36c37 238 uOLED.putc(w);
cdupaty 5:791713e36c37 239 uOLED.putc(h);
cdupaty 5:791713e36c37 240 uOLED.printf("%s",s);
cdupaty 5:791713e36c37 241 // uOLED.putc(0);
cdupaty 5:791713e36c37 242 ack();
cdupaty 5:791713e36c37 243 }
cdupaty 5:791713e36c37 244
cdupaty 5:791713e36c37 245 void efface(void)
cdupaty 5:791713e36c37 246 {
cdupaty 5:791713e36c37 247 #ifdef debug
cdupaty 5:791713e36c37 248 pc.printf("Commande GSGC_CLS\n");
cdupaty 5:791713e36c37 249 #endif
cdupaty 5:791713e36c37 250 uOLED.putc(GSGC_CLS); // efface ecran
cdupaty 5:791713e36c37 251 ack();
cdupaty 5:791713e36c37 252 wait(0.1);
cdupaty 5:791713e36c37 253 }
cdupaty 5:791713e36c37 254
cdupaty 5:791713e36c37 255
cdupaty 5:791713e36c37 256 void inituOLED(void)
cdupaty 5:791713e36c37 257 {
cdupaty 5:791713e36c37 258 reset=0;
cdupaty 5:791713e36c37 259 wait(0.1);
cdupaty 5:791713e36c37 260 reset=1;
cdupaty 5:791713e36c37 261 wait(1.0);
cdupaty 5:791713e36c37 262 uOLED.putc(GSGC_AUTOBAUD); // autobaud
cdupaty 5:791713e36c37 263 uOLED.putc(GSGC_AUTOBAUD);
cdupaty 5:791713e36c37 264 }
cdupaty 5:791713e36c37 265
cdupaty 5:791713e36c37 266
cdupaty 5:791713e36c37 267 int main(void)
cdupaty 5:791713e36c37 268 {
cdupaty 5:791713e36c37 269 unsigned char resp;
cdupaty 5:791713e36c37 270 #ifdef debug
cdupaty 5:791713e36c37 271 pc.printf("Demo uOLED\n");
cdupaty 5:791713e36c37 272 pc.printf("Mode debug actif\n");
cdupaty 5:791713e36c37 273 #endif
cdupaty 5:791713e36c37 274 inituOLED();
cdupaty 5:791713e36c37 275 while(1)
cdupaty 5:791713e36c37 276 {
cdupaty 5:791713e36c37 277 efface();
cdupaty 5:791713e36c37 278 uOLED.putc(GSGC_VERSION); // affiche infos uOLED
cdupaty 5:791713e36c37 279 uOLED.putc(0x01); // sur ecran et serial
cdupaty 5:791713e36c37 280 while (uOLED.readable())
cdupaty 5:791713e36c37 281 {
cdupaty 5:791713e36c37 282 resp = uOLED.getc(); // vide buffer
cdupaty 5:791713e36c37 283 wait_ms(5);
cdupaty 5:791713e36c37 284 }
cdupaty 5:791713e36c37 285 wait(1.0);
cdupaty 5:791713e36c37 286
cdupaty 5:791713e36c37 287 efface();
cdupaty 5:791713e36c37 288 rectangle(10,10,100,80,RED); // affiche un rectangle rouge plein
cdupaty 5:791713e36c37 289 penSize(EMPTY);
cdupaty 5:791713e36c37 290 rectangle(40,40,110,110,WHITE);
cdupaty 5:791713e36c37 291 penSize(SOLID);
cdupaty 5:791713e36c37 292 cercle(50,90,30,BLUE); // affiche un cercle bleu plein
cdupaty 5:791713e36c37 293 triangle(50,10,10,40,100,70,WHITE);
cdupaty 5:791713e36c37 294 wait(1.0);
cdupaty 5:791713e36c37 295
cdupaty 5:791713e36c37 296 efface();
cdupaty 5:791713e36c37 297 ligne(10,10,100,100,RED);
cdupaty 5:791713e36c37 298 ligne(10,100,100,10,BLUE);
cdupaty 5:791713e36c37 299 pixel(30,60,WHITE);
cdupaty 5:791713e36c37 300 pixel(90,150,GREEN);
cdupaty 5:791713e36c37 301 wait(1.0);
cdupaty 5:791713e36c37 302
cdupaty 5:791713e36c37 303 efface();
cdupaty 5:791713e36c37 304 afftexte_text(2,2,FONT3,RED,chaine1); // affiche un texte formate
cdupaty 5:791713e36c37 305 wait(1.0);
cdupaty 5:791713e36c37 306
cdupaty 5:791713e36c37 307 efface();
cdupaty 5:791713e36c37 308 afftexte_graphic(10,12,FONT2,GREEN,2,2,chaine1); // affiche un texte graphique
cdupaty 5:791713e36c37 309 wait(1.0);
cdupaty 5:791713e36c37 310
cdupaty 5:791713e36c37 311 efface();
cdupaty 5:791713e36c37 312 couleur_fond(WHITE);
cdupaty 5:791713e36c37 313 // txtBouton(UP,5,30,RED,FONT1,WHITE,10,5,"BTN Bleu");
cdupaty 5:791713e36c37 314
cdupaty 5:791713e36c37 315 efface();
cdupaty 5:791713e36c37 316 afftexte_text(2,2,FONT1,RED,chaine1); // affiche un texte formate
cdupaty 5:791713e36c37 317 opaque(OPAQUE);
cdupaty 5:791713e36c37 318 afftexte_text(2,30,FONT3,BLUE,chaine2);
cdupaty 5:791713e36c37 319 opaque(TRANSPARENT);
cdupaty 5:791713e36c37 320 pc.printf("recommencer : bouton bleu\n");
cdupaty 5:791713e36c37 321 while(bouton);
cdupaty 5:791713e36c37 322 while(!bouton);
cdupaty 5:791713e36c37 323
cdupaty 5:791713e36c37 324 couleur_fond(BLACK);
cdupaty 5:791713e36c37 325 /*
cdupaty 5:791713e36c37 326 efface();
cdupaty 5:791713e36c37 327 affiche_image(0,0,0x80,0x80,COLOR16,OMER); // OMER
cdupaty 5:791713e36c37 328 wait(1.0);
cdupaty 5:791713e36c37 329 */
WilliamMarshQMUL 0:75835b5692b9 330 }
cdupaty 5:791713e36c37 331 return 0;
WilliamMarshQMUL 0:75835b5692b9 332 }
cdupaty 5:791713e36c37 333
cdupaty 5:791713e36c37 334