Projet interfaçage DESCHAMPS JAHNICH 12/06/2018
Dependencies: AX12 BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG mbed
main.cpp@1:7c20e55d185e, 2018-06-12 (annotated)
- Committer:
- jumpstars
- Date:
- Tue Jun 12 13:31:09 2018 +0000
- Revision:
- 1:7c20e55d185e
- Parent:
- 0:83911d619e5c
DESCHAMPS; JAHNICH; interfa?age
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jumpstars | 0:83911d619e5c | 1 | /* Veuillez trouver ci-dessous le programme permettant de creer et d'intéragir avec une interface qui controle un moteur dynamixel AX-12A |
jumpstars | 0:83911d619e5c | 2 | * Vous trouverez 3 boutons : -un bouton init qui permet de placer le moteur à la position 0° |
jumpstars | 0:83911d619e5c | 3 | * -un bouton demi-tour qui permet de diminuer ou augmenter la position de 180° |
jumpstars | 0:83911d619e5c | 4 | * -un bouton quart de tour qui permet de diminuer ou augmenter la position de 90° |
jumpstars | 0:83911d619e5c | 5 | * Ainsi qu'un cercle tactile qui permet de selectionner 7 positions, tous les 45°. |
jumpstars | 0:83911d619e5c | 6 | |
jumpstars | 0:83911d619e5c | 7 | * AUTEURS : Rémi JAHNICH Antoine DESCHAMPS Licence professionelle MECSE sesam1 |
jumpstars | 0:83911d619e5c | 8 | */ |
jumpstars | 0:83911d619e5c | 9 | #include "mbed.h" |
jumpstars | 0:83911d619e5c | 10 | #include "TS_DISCO_F746NG.h" |
jumpstars | 0:83911d619e5c | 11 | #include "LCD_DISCO_F746NG.h" |
jumpstars | 0:83911d619e5c | 12 | #include "AX12.h" |
jumpstars | 0:83911d619e5c | 13 | |
jumpstars | 0:83911d619e5c | 14 | TS_DISCO_F746NG ts; |
jumpstars | 0:83911d619e5c | 15 | LCD_DISCO_F746NG lcd; |
jumpstars | 0:83911d619e5c | 16 | AX12 myax12 (D1, D0, 1); // definition des broches TX RX |
jumpstars | 0:83911d619e5c | 17 | |
jumpstars | 0:83911d619e5c | 18 | int main() { |
jumpstars | 0:83911d619e5c | 19 | /////////// Initialisation des variables pour le LCD ///////////// |
jumpstars | 0:83911d619e5c | 20 | TS_StateTypeDef TS_State; |
jumpstars | 0:83911d619e5c | 21 | uint16_t x, y; |
jumpstars | 0:83911d619e5c | 22 | uint8_t text[30]; |
jumpstars | 0:83911d619e5c | 23 | uint8_t text2[30]; |
jumpstars | 0:83911d619e5c | 24 | uint8_t text3[30]; |
jumpstars | 0:83911d619e5c | 25 | uint8_t status; |
jumpstars | 0:83911d619e5c | 26 | uint8_t idx; |
jumpstars | 0:83911d619e5c | 27 | uint8_t cleared = 0; |
jumpstars | 0:83911d619e5c | 28 | uint8_t prev_nb_touches = 0; |
jumpstars | 0:83911d619e5c | 29 | //uint16_t x_cercle = 450; |
jumpstars | 0:83911d619e5c | 30 | //uint16_t y_cercle = 100; |
jumpstars | 0:83911d619e5c | 31 | //////// Initialisation des variables ///////// |
jumpstars | 0:83911d619e5c | 32 | uint8_t demitour = 0; |
jumpstars | 0:83911d619e5c | 33 | uint8_t quarttour = 0; |
jumpstars | 0:83911d619e5c | 34 | uint8_t position = 1; |
jumpstars | 0:83911d619e5c | 35 | uint8_t old_position = 1; |
jumpstars | 0:83911d619e5c | 36 | uint8_t compteur; |
jumpstars | 0:83911d619e5c | 37 | uint8_t compteur2; |
jumpstars | 0:83911d619e5c | 38 | uint8_t compteur3; |
jumpstars | 0:83911d619e5c | 39 | uint16_t rot = 0; // valeur en degree pour le servo moteur |
jumpstars | 0:83911d619e5c | 40 | float temp; |
jumpstars | 0:83911d619e5c | 41 | float volt; |
jumpstars | 0:83911d619e5c | 42 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"INTERFACE SERVOMOTEUR", CENTER_MODE); // Affichage du titre de l'interface |
jumpstars | 0:83911d619e5c | 43 | wait(1); |
jumpstars | 0:83911d619e5c | 44 | //////////// Initialisation de l'écran tactile avec retour fail/ok //////////////// |
jumpstars | 0:83911d619e5c | 45 | status = ts.Init(lcd.GetXSize(), lcd.GetYSize()); |
jumpstars | 0:83911d619e5c | 46 | if (status != TS_OK) { |
jumpstars | 0:83911d619e5c | 47 | lcd.Clear(LCD_COLOR_RED); |
jumpstars | 0:83911d619e5c | 48 | lcd.SetBackColor(LCD_COLOR_RED); |
jumpstars | 0:83911d619e5c | 49 | lcd.SetTextColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 50 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE); |
jumpstars | 0:83911d619e5c | 51 | } else { |
jumpstars | 0:83911d619e5c | 52 | lcd.Clear(LCD_COLOR_GREEN); |
jumpstars | 0:83911d619e5c | 53 | lcd.SetBackColor(LCD_COLOR_GREEN); |
jumpstars | 0:83911d619e5c | 54 | lcd.SetTextColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 55 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT OK", CENTER_MODE); |
jumpstars | 0:83911d619e5c | 56 | } |
jumpstars | 0:83911d619e5c | 57 | wait(1); |
jumpstars | 0:83911d619e5c | 58 | lcd.Clear(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 59 | |
jumpstars | 0:83911d619e5c | 60 | /////////// Boucle du programme ///////////// |
jumpstars | 0:83911d619e5c | 61 | |
jumpstars | 0:83911d619e5c | 62 | while(1) |
jumpstars | 0:83911d619e5c | 63 | { |
jumpstars | 0:83911d619e5c | 64 | myax12.SetGoal(rot); //Aller à la valeur de rot |
jumpstars | 0:83911d619e5c | 65 | |
jumpstars | 0:83911d619e5c | 66 | //affichage de la position |
jumpstars | 0:83911d619e5c | 67 | lcd.SetBackColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 68 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 69 | sprintf((char*)text, "position: %d degrees", rot); |
jumpstars | 0:83911d619e5c | 70 | lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, CENTER_MODE); |
jumpstars | 0:83911d619e5c | 71 | |
jumpstars | 0:83911d619e5c | 72 | /* Retour de la température et volt du moteur mais ne fonctionne pas -> retour 0 pour les deux |
jumpstars | 0:83911d619e5c | 73 | temp = myax12.GetTemp(); |
jumpstars | 0:83911d619e5c | 74 | volt = myax12.GetVolts(); |
jumpstars | 0:83911d619e5c | 75 | |
jumpstars | 0:83911d619e5c | 76 | sprintf((char*)text2, "Temp : %.2f ", temp); |
jumpstars | 0:83911d619e5c | 77 | lcd.DisplayStringAt(0, LINE(9), (uint8_t *)&text2, LEFT_MODE); |
jumpstars | 0:83911d619e5c | 78 | |
jumpstars | 0:83911d619e5c | 79 | sprintf((char*)text3, "Volts : %.2f ", volt); |
jumpstars | 0:83911d619e5c | 80 | lcd.DisplayStringAt(0, LINE(10), (uint8_t *)&text3, LEFT_MODE); |
jumpstars | 0:83911d619e5c | 81 | */ |
jumpstars | 0:83911d619e5c | 82 | |
jumpstars | 0:83911d619e5c | 83 | //initialisation affichage |
jumpstars | 0:83911d619e5c | 84 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 85 | lcd.DrawCircle(240, 200, 50); |
jumpstars | 0:83911d619e5c | 86 | |
jumpstars | 0:83911d619e5c | 87 | // Affichage du cercle rouge(selon la valeur de rot) // |
jumpstars | 0:83911d619e5c | 88 | lcd.SetTextColor(LCD_COLOR_RED); |
jumpstars | 0:83911d619e5c | 89 | if(rot == 0){ |
jumpstars | 0:83911d619e5c | 90 | lcd.FillCircle(240,150,15); |
jumpstars | 0:83911d619e5c | 91 | } |
jumpstars | 0:83911d619e5c | 92 | if(rot == 45){ |
jumpstars | 0:83911d619e5c | 93 | lcd.FillCircle(275,165,15); |
jumpstars | 0:83911d619e5c | 94 | } |
jumpstars | 0:83911d619e5c | 95 | if(rot == 90){ |
jumpstars | 0:83911d619e5c | 96 | lcd.FillCircle(290,200,15); |
jumpstars | 0:83911d619e5c | 97 | } |
jumpstars | 0:83911d619e5c | 98 | if(rot == 135){ |
jumpstars | 0:83911d619e5c | 99 | lcd.FillCircle(275,235,15); |
jumpstars | 0:83911d619e5c | 100 | } |
jumpstars | 0:83911d619e5c | 101 | if(rot == 180){ |
jumpstars | 0:83911d619e5c | 102 | lcd.FillCircle(240,250,15); |
jumpstars | 0:83911d619e5c | 103 | } |
jumpstars | 0:83911d619e5c | 104 | if(rot == 225){ |
jumpstars | 0:83911d619e5c | 105 | lcd.FillCircle(205,235,15); |
jumpstars | 0:83911d619e5c | 106 | } |
jumpstars | 0:83911d619e5c | 107 | if(rot == 270){ |
jumpstars | 0:83911d619e5c | 108 | lcd.FillCircle(190,200,15); |
jumpstars | 0:83911d619e5c | 109 | } |
jumpstars | 0:83911d619e5c | 110 | if(rot == 300){ |
jumpstars | 0:83911d619e5c | 111 | lcd.FillCircle(205,165,15); |
jumpstars | 0:83911d619e5c | 112 | } |
jumpstars | 0:83911d619e5c | 113 | |
jumpstars | 0:83911d619e5c | 114 | //Clear de l'écran |
jumpstars | 0:83911d619e5c | 115 | if(position != old_position){ |
jumpstars | 0:83911d619e5c | 116 | lcd.Clear(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 117 | old_position = position; |
jumpstars | 0:83911d619e5c | 118 | } |
jumpstars | 0:83911d619e5c | 119 | |
jumpstars | 0:83911d619e5c | 120 | //gestion du demi tour (selon la valeur de rot) // |
jumpstars | 0:83911d619e5c | 121 | if(demitour == 1){ |
jumpstars | 0:83911d619e5c | 122 | if(rot == 0){//ok |
jumpstars | 0:83911d619e5c | 123 | rot = 180; |
jumpstars | 0:83911d619e5c | 124 | demitour = 0; |
jumpstars | 0:83911d619e5c | 125 | }else if(rot == 45){//? |
jumpstars | 0:83911d619e5c | 126 | rot = 225; |
jumpstars | 0:83911d619e5c | 127 | demitour = 0; |
jumpstars | 0:83911d619e5c | 128 | }else if(rot == 90){//? |
jumpstars | 0:83911d619e5c | 129 | rot = 270; |
jumpstars | 0:83911d619e5c | 130 | demitour = 0; |
jumpstars | 0:83911d619e5c | 131 | }else if(rot == 135){ |
jumpstars | 0:83911d619e5c | 132 | rot = 300; |
jumpstars | 0:83911d619e5c | 133 | demitour = 0; |
jumpstars | 0:83911d619e5c | 134 | }else if(rot == 180){ |
jumpstars | 0:83911d619e5c | 135 | rot = 0; |
jumpstars | 0:83911d619e5c | 136 | demitour = 0; |
jumpstars | 0:83911d619e5c | 137 | }else if(rot == 225){ |
jumpstars | 0:83911d619e5c | 138 | rot = 45; |
jumpstars | 0:83911d619e5c | 139 | demitour = 0; |
jumpstars | 0:83911d619e5c | 140 | }else if(rot == 270){ |
jumpstars | 0:83911d619e5c | 141 | rot = 90; |
jumpstars | 0:83911d619e5c | 142 | demitour = 0; |
jumpstars | 0:83911d619e5c | 143 | }else if(rot == 300){ |
jumpstars | 0:83911d619e5c | 144 | rot = 135; |
jumpstars | 0:83911d619e5c | 145 | demitour = 0; |
jumpstars | 0:83911d619e5c | 146 | } |
jumpstars | 0:83911d619e5c | 147 | } |
jumpstars | 0:83911d619e5c | 148 | //gestion quart de tour (selon la valeur de rot) // |
jumpstars | 0:83911d619e5c | 149 | if(quarttour == 1){ |
jumpstars | 0:83911d619e5c | 150 | if(rot == 0){//ok |
jumpstars | 0:83911d619e5c | 151 | rot = 90; |
jumpstars | 0:83911d619e5c | 152 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 153 | } |
jumpstars | 0:83911d619e5c | 154 | else if(rot == 45){//? |
jumpstars | 0:83911d619e5c | 155 | rot = 135; |
jumpstars | 0:83911d619e5c | 156 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 157 | }else if(rot == 90){//? |
jumpstars | 0:83911d619e5c | 158 | rot = 180; |
jumpstars | 0:83911d619e5c | 159 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 160 | }else if(rot == 135){ |
jumpstars | 0:83911d619e5c | 161 | rot = 225; |
jumpstars | 0:83911d619e5c | 162 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 163 | }else if(rot == 180){ |
jumpstars | 0:83911d619e5c | 164 | rot = 270; |
jumpstars | 0:83911d619e5c | 165 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 166 | }else if(rot == 225){ |
jumpstars | 0:83911d619e5c | 167 | rot = 300; |
jumpstars | 0:83911d619e5c | 168 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 169 | }else if(rot == 270){ |
jumpstars | 0:83911d619e5c | 170 | rot = 0; |
jumpstars | 0:83911d619e5c | 171 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 172 | }else if(rot == 300){ |
jumpstars | 0:83911d619e5c | 173 | rot =45; |
jumpstars | 0:83911d619e5c | 174 | quarttour = 0; |
jumpstars | 0:83911d619e5c | 175 | } |
jumpstars | 0:83911d619e5c | 176 | } |
jumpstars | 0:83911d619e5c | 177 | // gestion du tactile |
jumpstars | 0:83911d619e5c | 178 | ts.GetState(&TS_State); |
jumpstars | 0:83911d619e5c | 179 | if (TS_State.touchDetected) { |
jumpstars | 0:83911d619e5c | 180 | if (TS_State.touchDetected < prev_nb_touches) { |
jumpstars | 0:83911d619e5c | 181 | for (idx = (TS_State.touchDetected + 1); idx <= 5; idx++) { |
jumpstars | 0:83911d619e5c | 182 | lcd.ClearStringLine(idx); |
jumpstars | 0:83911d619e5c | 183 | } |
jumpstars | 0:83911d619e5c | 184 | } |
jumpstars | 0:83911d619e5c | 185 | compteur = 0; |
jumpstars | 0:83911d619e5c | 186 | |
jumpstars | 0:83911d619e5c | 187 | for (idx = 0; idx < TS_State.touchDetected; idx++) { |
jumpstars | 0:83911d619e5c | 188 | x = TS_State.touchX[idx]; |
jumpstars | 0:83911d619e5c | 189 | y = TS_State.touchY[idx]; |
jumpstars | 0:83911d619e5c | 190 | // Ici, nous avons défini des zones de l'écran tactile pour le cercle rouge et les 3 boutons // |
jumpstars | 0:83911d619e5c | 191 | //POSITION 1 |
jumpstars | 0:83911d619e5c | 192 | if((x > 225) && (x < 255) && (y > 135) && (y < 165)){ |
jumpstars | 0:83911d619e5c | 193 | rot = 0; |
jumpstars | 0:83911d619e5c | 194 | } |
jumpstars | 0:83911d619e5c | 195 | //POSITION 2 |
jumpstars | 0:83911d619e5c | 196 | if((x > 260) && (x < 290) && (y > 150) && (y < 180)){ |
jumpstars | 0:83911d619e5c | 197 | rot = 45; |
jumpstars | 0:83911d619e5c | 198 | } |
jumpstars | 0:83911d619e5c | 199 | //POSITION 3 |
jumpstars | 0:83911d619e5c | 200 | if((x > 275) && (x < 305) && (y > 185) && (y < 215)){ |
jumpstars | 0:83911d619e5c | 201 | rot = 90; |
jumpstars | 0:83911d619e5c | 202 | } |
jumpstars | 0:83911d619e5c | 203 | //POSITION 4 |
jumpstars | 0:83911d619e5c | 204 | if((x > 260) && (x < 290) && (y > 220) && (y < 250)){ |
jumpstars | 0:83911d619e5c | 205 | rot = 135; |
jumpstars | 0:83911d619e5c | 206 | } |
jumpstars | 0:83911d619e5c | 207 | //POSITION 5 |
jumpstars | 0:83911d619e5c | 208 | if((x > 225) && (x < 255) && (y > 235) && (y < 265)){ |
jumpstars | 0:83911d619e5c | 209 | rot = 180; |
jumpstars | 0:83911d619e5c | 210 | } |
jumpstars | 0:83911d619e5c | 211 | //POSITION 6 |
jumpstars | 0:83911d619e5c | 212 | if((x > 190) && (x < 220) && (y > 220) && (y < 250)){ |
jumpstars | 0:83911d619e5c | 213 | rot = 225; |
jumpstars | 0:83911d619e5c | 214 | } |
jumpstars | 0:83911d619e5c | 215 | //POSITION 7 |
jumpstars | 0:83911d619e5c | 216 | if((x > 175) && (x < 205) && (y > 185) && (y < 215)){ |
jumpstars | 0:83911d619e5c | 217 | rot = 270; |
jumpstars | 0:83911d619e5c | 218 | } |
jumpstars | 0:83911d619e5c | 219 | //POSITION 8 |
jumpstars | 0:83911d619e5c | 220 | if((x > 190) && (x < 220) && (y > 150) && (y < 180)){ |
jumpstars | 0:83911d619e5c | 221 | rot = 300; |
jumpstars | 0:83911d619e5c | 222 | } |
jumpstars | 0:83911d619e5c | 223 | //bouton demi tour |
jumpstars | 0:83911d619e5c | 224 | if((x > 40) && (x < 140) && (y > 40) && (y < 100)){ |
jumpstars | 0:83911d619e5c | 225 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 226 | lcd.FillRect(40,40,100,60); |
jumpstars | 0:83911d619e5c | 227 | lcd.SetBackColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 228 | lcd.SetTextColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 229 | |
jumpstars | 0:83911d619e5c | 230 | lcd.DisplayStringAt(60, LINE(2), (uint8_t *)"Demi", LEFT_MODE); |
jumpstars | 0:83911d619e5c | 231 | lcd.DisplayStringAt(60, LINE(3), (uint8_t *)"Tour", LEFT_MODE); |
jumpstars | 0:83911d619e5c | 232 | // réalisation du demi tour une seule fois |
jumpstars | 0:83911d619e5c | 233 | if(compteur2 < 1){ |
jumpstars | 0:83911d619e5c | 234 | demitour=1; |
jumpstars | 0:83911d619e5c | 235 | compteur2++; |
jumpstars | 0:83911d619e5c | 236 | } |
jumpstars | 0:83911d619e5c | 237 | } |
jumpstars | 0:83911d619e5c | 238 | //bouton quart de tour |
jumpstars | 0:83911d619e5c | 239 | if((x > 165) && (x < 315) && (y > 40) && (y < 100)){ |
jumpstars | 0:83911d619e5c | 240 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 241 | lcd.FillRect(165,40,150,60); |
jumpstars | 0:83911d619e5c | 242 | lcd.SetBackColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 243 | lcd.SetTextColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 244 | lcd.DisplayStringAt(0, LINE(2), (uint8_t *)"Quart", CENTER_MODE); |
jumpstars | 0:83911d619e5c | 245 | lcd.DisplayStringAt(0, LINE(3), (uint8_t *)"de tour", CENTER_MODE); |
jumpstars | 0:83911d619e5c | 246 | // réalisation du quart de tour une seule fois |
jumpstars | 0:83911d619e5c | 247 | if(compteur3 < 1){ |
jumpstars | 0:83911d619e5c | 248 | quarttour=1; |
jumpstars | 0:83911d619e5c | 249 | compteur3++; |
jumpstars | 0:83911d619e5c | 250 | } |
jumpstars | 0:83911d619e5c | 251 | } |
jumpstars | 0:83911d619e5c | 252 | //bouton init |
jumpstars | 0:83911d619e5c | 253 | if((x > 340) && (x < 440) && (y > 40) && (y < 100)){ |
jumpstars | 0:83911d619e5c | 254 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 255 | lcd.FillRect(340,40,100,60); |
jumpstars | 0:83911d619e5c | 256 | lcd.SetBackColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 257 | lcd.SetTextColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 258 | lcd.DisplayStringAt(358, LINE(2), (uint8_t *)"Init", LEFT_MODE); |
jumpstars | 0:83911d619e5c | 259 | rot = 0; |
jumpstars | 0:83911d619e5c | 260 | } |
jumpstars | 0:83911d619e5c | 261 | } |
jumpstars | 0:83911d619e5c | 262 | } else { |
jumpstars | 0:83911d619e5c | 263 | // Réaliser un seul clear quand le tactile n'est pas utilisé // |
jumpstars | 0:83911d619e5c | 264 | compteur2 = 0; |
jumpstars | 0:83911d619e5c | 265 | compteur3 = 0; |
jumpstars | 0:83911d619e5c | 266 | if(compteur < 1){ |
jumpstars | 0:83911d619e5c | 267 | lcd.Clear(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 268 | compteur++; |
jumpstars | 0:83911d619e5c | 269 | } |
jumpstars | 0:83911d619e5c | 270 | // Affichage des trois boutons quand le tactile n'est pas utilisé // |
jumpstars | 0:83911d619e5c | 271 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 272 | lcd.DrawRect(40,40,100,60); |
jumpstars | 0:83911d619e5c | 273 | lcd.SetBackColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 274 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 275 | lcd.DisplayStringAt(60, LINE(2), (uint8_t *)"Demi", LEFT_MODE); |
jumpstars | 0:83911d619e5c | 276 | lcd.DisplayStringAt(60, LINE(3), (uint8_t *)"Tour", LEFT_MODE); |
jumpstars | 0:83911d619e5c | 277 | |
jumpstars | 0:83911d619e5c | 278 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 279 | lcd.DrawRect(165,40,150,60); |
jumpstars | 0:83911d619e5c | 280 | lcd.SetBackColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 281 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 282 | lcd.DisplayStringAt(0, LINE(2), (uint8_t *)"Quart", CENTER_MODE); |
jumpstars | 0:83911d619e5c | 283 | lcd.DisplayStringAt(0, LINE(3), (uint8_t *)"de tour", CENTER_MODE); |
jumpstars | 0:83911d619e5c | 284 | |
jumpstars | 0:83911d619e5c | 285 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 286 | lcd.DrawRect(340,40,100,60); |
jumpstars | 0:83911d619e5c | 287 | lcd.SetBackColor(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 288 | lcd.SetTextColor(LCD_COLOR_BLACK); |
jumpstars | 0:83911d619e5c | 289 | lcd.DisplayStringAt(358, LINE(2), (uint8_t *)"Init", LEFT_MODE); |
jumpstars | 0:83911d619e5c | 290 | |
jumpstars | 0:83911d619e5c | 291 | if (!cleared) { |
jumpstars | 0:83911d619e5c | 292 | //lcd.Clear(LCD_COLOR_WHITE); |
jumpstars | 0:83911d619e5c | 293 | cleared = 1; |
jumpstars | 0:83911d619e5c | 294 | } |
jumpstars | 0:83911d619e5c | 295 | } |
jumpstars | 0:83911d619e5c | 296 | } |
jumpstars | 0:83911d619e5c | 297 | } |