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
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
main.cpp@5:791713e36c37, 2021-03-13 (annotated)
- 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?
User | Revision | Line number | New 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 |