Test
Lcd.cpp@1:82cbdeae5d44, 2013-06-07 (annotated)
- Committer:
- GobaudJeanLouis
- Date:
- Fri Jun 07 20:12:31 2013 +0000
- Revision:
- 1:82cbdeae5d44
- Parent:
- 0:9a44543bf4fc
none
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
GobaudJeanLouis | 0:9a44543bf4fc | 1 | #include "Lcd.h" |
GobaudJeanLouis | 0:9a44543bf4fc | 2 | #include "mbed.h" |
GobaudJeanLouis | 0:9a44543bf4fc | 3 | |
GobaudJeanLouis | 0:9a44543bf4fc | 4 | |
GobaudJeanLouis | 0:9a44543bf4fc | 5 | // Constructeur |
GobaudJeanLouis | 0:9a44543bf4fc | 6 | |
GobaudJeanLouis | 0:9a44543bf4fc | 7 | Lcd::Lcd(PinName tx, PinName rx,int bauds) : Serial(tx, rx) |
GobaudJeanLouis | 0:9a44543bf4fc | 8 | { |
GobaudJeanLouis | 1:82cbdeae5d44 | 9 | Serial::baud(bauds); |
GobaudJeanLouis | 0:9a44543bf4fc | 10 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 11 | |
GobaudJeanLouis | 0:9a44543bf4fc | 12 | void Lcd::Cls() |
GobaudJeanLouis | 0:9a44543bf4fc | 13 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 14 | char MonChar; |
GobaudJeanLouis | 0:9a44543bf4fc | 15 | MonChar=0x1b; |
GobaudJeanLouis | 0:9a44543bf4fc | 16 | this->putc(MonChar); |
GobaudJeanLouis | 0:9a44543bf4fc | 17 | MonChar=0x43; |
GobaudJeanLouis | 0:9a44543bf4fc | 18 | this->putc(MonChar); |
GobaudJeanLouis | 0:9a44543bf4fc | 19 | |
GobaudJeanLouis | 0:9a44543bf4fc | 20 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 21 | //############## Poly #################################################" |
GobaudJeanLouis | 0:9a44543bf4fc | 22 | void Lcd::LCD(string Para1,string Para2) |
GobaudJeanLouis | 0:9a44543bf4fc | 23 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 24 | LcdS(Para1,Para2); |
GobaudJeanLouis | 0:9a44543bf4fc | 25 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 26 | void Lcd::LCD(char Format[] ,float MonFloat) |
GobaudJeanLouis | 0:9a44543bf4fc | 27 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 28 | LcdF( Format, MonFloat); |
GobaudJeanLouis | 0:9a44543bf4fc | 29 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 30 | void Lcd::LCD(float MonFloat) |
GobaudJeanLouis | 0:9a44543bf4fc | 31 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 32 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 33 | this->printf("%f",MonFloat); |
GobaudJeanLouis | 0:9a44543bf4fc | 34 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 35 | void Lcd::LCD(char masque[],int MonInt) |
GobaudJeanLouis | 0:9a44543bf4fc | 36 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 37 | LcdI(masque,MonInt); |
GobaudJeanLouis | 0:9a44543bf4fc | 38 | |
GobaudJeanLouis | 0:9a44543bf4fc | 39 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 40 | void Lcd::LCD(int MonInt) |
GobaudJeanLouis | 0:9a44543bf4fc | 41 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 42 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 43 | this->printf("%i",MonInt); |
GobaudJeanLouis | 0:9a44543bf4fc | 44 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 45 | |
GobaudJeanLouis | 0:9a44543bf4fc | 46 | //############## INTEGER #################################################" |
GobaudJeanLouis | 0:9a44543bf4fc | 47 | void Lcd::LcdI(int MonInt) |
GobaudJeanLouis | 0:9a44543bf4fc | 48 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 49 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 50 | this->printf("%i",MonInt); |
GobaudJeanLouis | 0:9a44543bf4fc | 51 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 52 | //############## INTEGER #################################################" |
GobaudJeanLouis | 0:9a44543bf4fc | 53 | void Lcd::LcdI(char masque[],int MonInt) |
GobaudJeanLouis | 0:9a44543bf4fc | 54 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 55 | char Format[50]; |
GobaudJeanLouis | 0:9a44543bf4fc | 56 | int i=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 57 | int j=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 58 | int k,l,c; |
GobaudJeanLouis | 0:9a44543bf4fc | 59 | Format[0]='*'; |
GobaudJeanLouis | 0:9a44543bf4fc | 60 | // Extrait Position x y |
GobaudJeanLouis | 0:9a44543bf4fc | 61 | while(masque[i]!= 0) { |
GobaudJeanLouis | 0:9a44543bf4fc | 62 | |
GobaudJeanLouis | 0:9a44543bf4fc | 63 | if(masque[i]==94) { |
GobaudJeanLouis | 0:9a44543bf4fc | 64 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 65 | l=masque[i]-48; |
GobaudJeanLouis | 0:9a44543bf4fc | 66 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 67 | c=masque[i]-48; |
GobaudJeanLouis | 0:9a44543bf4fc | 68 | i++;// espace apres format |
GobaudJeanLouis | 0:9a44543bf4fc | 69 | } else { |
GobaudJeanLouis | 0:9a44543bf4fc | 70 | Format[j+1]=masque[i]; |
GobaudJeanLouis | 0:9a44543bf4fc | 71 | j++; |
GobaudJeanLouis | 0:9a44543bf4fc | 72 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 73 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 74 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 75 | |
GobaudJeanLouis | 0:9a44543bf4fc | 76 | //------------------------------------------- |
GobaudJeanLouis | 0:9a44543bf4fc | 77 | // détermintion de la position différente de numerique |
GobaudJeanLouis | 0:9a44543bf4fc | 78 | for (k=j; (k>0) ; k--) { |
GobaudJeanLouis | 0:9a44543bf4fc | 79 | if(!((Format[k]>=48 && Format[k]<=57)||(Format[k]==46))) { |
GobaudJeanLouis | 0:9a44543bf4fc | 80 | break; |
GobaudJeanLouis | 0:9a44543bf4fc | 81 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 82 | |
GobaudJeanLouis | 0:9a44543bf4fc | 83 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 84 | |
GobaudJeanLouis | 0:9a44543bf4fc | 85 | Format[j+1]='i'; |
GobaudJeanLouis | 0:9a44543bf4fc | 86 | |
GobaudJeanLouis | 0:9a44543bf4fc | 87 | |
GobaudJeanLouis | 0:9a44543bf4fc | 88 | |
GobaudJeanLouis | 0:9a44543bf4fc | 89 | Format[j+2]=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 90 | |
GobaudJeanLouis | 0:9a44543bf4fc | 91 | //--------------------------------- |
GobaudJeanLouis | 0:9a44543bf4fc | 92 | //Cas 1 caractère Espace on décale à droite pour le conserver |
GobaudJeanLouis | 0:9a44543bf4fc | 93 | if (k==1) { |
GobaudJeanLouis | 0:9a44543bf4fc | 94 | for(int w=j+1; w!= 1; w--) { |
GobaudJeanLouis | 0:9a44543bf4fc | 95 | Format[w+1]=Format[w]; |
GobaudJeanLouis | 0:9a44543bf4fc | 96 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 97 | k++; |
GobaudJeanLouis | 0:9a44543bf4fc | 98 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 99 | //Insere le % |
GobaudJeanLouis | 0:9a44543bf4fc | 100 | Format[k]='%'; |
GobaudJeanLouis | 0:9a44543bf4fc | 101 | //Cas du Texte on décale à gauche |
GobaudJeanLouis | 0:9a44543bf4fc | 102 | if (Format[0]=='*') { |
GobaudJeanLouis | 0:9a44543bf4fc | 103 | for(int i=0; i<(j+3); i++) { |
GobaudJeanLouis | 0:9a44543bf4fc | 104 | Format[i]=Format[i+1]; |
GobaudJeanLouis | 0:9a44543bf4fc | 105 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 106 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 107 | //Test si pos x/y |
GobaudJeanLouis | 0:9a44543bf4fc | 108 | if (j!=i) { |
GobaudJeanLouis | 0:9a44543bf4fc | 109 | this->putc(0x1b); |
GobaudJeanLouis | 0:9a44543bf4fc | 110 | this->putc(0x4c); |
GobaudJeanLouis | 0:9a44543bf4fc | 111 | this->putc(c); |
GobaudJeanLouis | 0:9a44543bf4fc | 112 | this->putc(l); |
GobaudJeanLouis | 0:9a44543bf4fc | 113 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 114 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 115 | this->printf(Format,MonInt); |
GobaudJeanLouis | 0:9a44543bf4fc | 116 | //this->printf("%s",Format); |
GobaudJeanLouis | 0:9a44543bf4fc | 117 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 118 | |
GobaudJeanLouis | 0:9a44543bf4fc | 119 | //############## Float #################################################" |
GobaudJeanLouis | 0:9a44543bf4fc | 120 | void Lcd::LcdF(float MonFloat) |
GobaudJeanLouis | 0:9a44543bf4fc | 121 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 122 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 123 | this->printf("%f",MonFloat); |
GobaudJeanLouis | 0:9a44543bf4fc | 124 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 125 | |
GobaudJeanLouis | 0:9a44543bf4fc | 126 | //############## FLOAT #################################################" |
GobaudJeanLouis | 0:9a44543bf4fc | 127 | void Lcd::LcdF(char masque[],float MonFloat) |
GobaudJeanLouis | 0:9a44543bf4fc | 128 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 129 | char Format[50]; |
GobaudJeanLouis | 0:9a44543bf4fc | 130 | int i=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 131 | int j=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 132 | int k,l,c; |
GobaudJeanLouis | 0:9a44543bf4fc | 133 | Format[0]='*'; |
GobaudJeanLouis | 0:9a44543bf4fc | 134 | // Extrait Position x y |
GobaudJeanLouis | 0:9a44543bf4fc | 135 | while(masque[i]!= 0) { |
GobaudJeanLouis | 0:9a44543bf4fc | 136 | if(masque[i]==94) { |
GobaudJeanLouis | 0:9a44543bf4fc | 137 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 138 | l=masque[i]-48; |
GobaudJeanLouis | 0:9a44543bf4fc | 139 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 140 | c=masque[i]-48; |
GobaudJeanLouis | 0:9a44543bf4fc | 141 | i++;// espace apres format |
GobaudJeanLouis | 0:9a44543bf4fc | 142 | } else { |
GobaudJeanLouis | 0:9a44543bf4fc | 143 | Format[j+1]=masque[i]; |
GobaudJeanLouis | 0:9a44543bf4fc | 144 | j++; |
GobaudJeanLouis | 0:9a44543bf4fc | 145 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 146 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 147 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 148 | Format[j+1]='f'; |
GobaudJeanLouis | 0:9a44543bf4fc | 149 | Format[j+2]=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 150 | //------------------------------------------- |
GobaudJeanLouis | 0:9a44543bf4fc | 151 | // détermintion de la position différente de numerique |
GobaudJeanLouis | 0:9a44543bf4fc | 152 | for (k=j; (k>0) ; k--) { |
GobaudJeanLouis | 0:9a44543bf4fc | 153 | if(!((Format[k]>=48 && Format[k]<=57)||(Format[k]==46))) { |
GobaudJeanLouis | 0:9a44543bf4fc | 154 | break; |
GobaudJeanLouis | 0:9a44543bf4fc | 155 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 156 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 157 | //--------------------------------- |
GobaudJeanLouis | 0:9a44543bf4fc | 158 | //Cas 1 caractère Espace on décale à droite pour le conserver |
GobaudJeanLouis | 0:9a44543bf4fc | 159 | if (k==1) { |
GobaudJeanLouis | 0:9a44543bf4fc | 160 | for(int w=j+1; w!= 1; w--) { |
GobaudJeanLouis | 0:9a44543bf4fc | 161 | Format[w+1]=Format[w]; |
GobaudJeanLouis | 0:9a44543bf4fc | 162 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 163 | k++; |
GobaudJeanLouis | 0:9a44543bf4fc | 164 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 165 | //Insere le % |
GobaudJeanLouis | 0:9a44543bf4fc | 166 | Format[k]='%'; |
GobaudJeanLouis | 0:9a44543bf4fc | 167 | //Cas du Texte on décale à gauche |
GobaudJeanLouis | 0:9a44543bf4fc | 168 | if (Format[0]=='*') { |
GobaudJeanLouis | 0:9a44543bf4fc | 169 | for(int i=0; i<(j+3); i++) { |
GobaudJeanLouis | 0:9a44543bf4fc | 170 | Format[i]=Format[i+1]; |
GobaudJeanLouis | 0:9a44543bf4fc | 171 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 172 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 173 | //Test si pos x/y |
GobaudJeanLouis | 0:9a44543bf4fc | 174 | if (j!=i) { |
GobaudJeanLouis | 0:9a44543bf4fc | 175 | this->putc(0x1b); |
GobaudJeanLouis | 0:9a44543bf4fc | 176 | this->putc(0x4c); |
GobaudJeanLouis | 0:9a44543bf4fc | 177 | this->putc(c); |
GobaudJeanLouis | 0:9a44543bf4fc | 178 | this->putc(l); |
GobaudJeanLouis | 0:9a44543bf4fc | 179 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 180 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 181 | this->printf(Format,MonFloat); |
GobaudJeanLouis | 0:9a44543bf4fc | 182 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 183 | |
GobaudJeanLouis | 0:9a44543bf4fc | 184 | |
GobaudJeanLouis | 0:9a44543bf4fc | 185 | //############## STRING #################################################" |
GobaudJeanLouis | 0:9a44543bf4fc | 186 | void Lcd::LcdS(string Param1,string Data) |
GobaudJeanLouis | 0:9a44543bf4fc | 187 | { |
GobaudJeanLouis | 0:9a44543bf4fc | 188 | char masque[50]; |
GobaudJeanLouis | 0:9a44543bf4fc | 189 | if (Data=="") { |
GobaudJeanLouis | 0:9a44543bf4fc | 190 | Data=Param1; |
GobaudJeanLouis | 0:9a44543bf4fc | 191 | Param1=""; |
GobaudJeanLouis | 0:9a44543bf4fc | 192 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 193 | |
GobaudJeanLouis | 0:9a44543bf4fc | 194 | |
GobaudJeanLouis | 0:9a44543bf4fc | 195 | for(int i=0; i<49; i++) { |
GobaudJeanLouis | 0:9a44543bf4fc | 196 | masque[i]=Param1[i]; |
GobaudJeanLouis | 0:9a44543bf4fc | 197 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 198 | char Format[50]; |
GobaudJeanLouis | 0:9a44543bf4fc | 199 | int i=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 200 | int j=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 201 | int l,c; |
GobaudJeanLouis | 0:9a44543bf4fc | 202 | Format[0]='*'; |
GobaudJeanLouis | 0:9a44543bf4fc | 203 | |
GobaudJeanLouis | 0:9a44543bf4fc | 204 | // Extrait Position x y |
GobaudJeanLouis | 0:9a44543bf4fc | 205 | while(masque[i]!= 0) { |
GobaudJeanLouis | 0:9a44543bf4fc | 206 | if(masque[i]==94) { |
GobaudJeanLouis | 0:9a44543bf4fc | 207 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 208 | l=masque[i]-48; |
GobaudJeanLouis | 0:9a44543bf4fc | 209 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 210 | c=masque[i]-48; |
GobaudJeanLouis | 0:9a44543bf4fc | 211 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 212 | if ( masque[i]==0) { |
GobaudJeanLouis | 0:9a44543bf4fc | 213 | break; |
GobaudJeanLouis | 0:9a44543bf4fc | 214 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 215 | |
GobaudJeanLouis | 0:9a44543bf4fc | 216 | |
GobaudJeanLouis | 0:9a44543bf4fc | 217 | |
GobaudJeanLouis | 0:9a44543bf4fc | 218 | } else { |
GobaudJeanLouis | 0:9a44543bf4fc | 219 | Format[j+1]=masque[i]; |
GobaudJeanLouis | 0:9a44543bf4fc | 220 | j++; |
GobaudJeanLouis | 0:9a44543bf4fc | 221 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 222 | i++; |
GobaudJeanLouis | 0:9a44543bf4fc | 223 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 224 | |
GobaudJeanLouis | 0:9a44543bf4fc | 225 | /* |
GobaudJeanLouis | 0:9a44543bf4fc | 226 | //------------------------------------------- |
GobaudJeanLouis | 0:9a44543bf4fc | 227 | // détermintion de la position différente de numerique |
GobaudJeanLouis | 0:9a44543bf4fc | 228 | for (k=j; (k>0) ; k--) { |
GobaudJeanLouis | 0:9a44543bf4fc | 229 | if(!((Format[k]>=48 && Format[k]<=57)||(Format[k]==46))) {break;} |
GobaudJeanLouis | 0:9a44543bf4fc | 230 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 231 | */ |
GobaudJeanLouis | 0:9a44543bf4fc | 232 | |
GobaudJeanLouis | 0:9a44543bf4fc | 233 | //Insere le % |
GobaudJeanLouis | 0:9a44543bf4fc | 234 | Format[j+1]='%'; |
GobaudJeanLouis | 0:9a44543bf4fc | 235 | Format[j+2]='s'; |
GobaudJeanLouis | 0:9a44543bf4fc | 236 | Format[j+3]=0; |
GobaudJeanLouis | 0:9a44543bf4fc | 237 | |
GobaudJeanLouis | 0:9a44543bf4fc | 238 | //Cas du Texte on décale à gauche |
GobaudJeanLouis | 0:9a44543bf4fc | 239 | if (Format[0]=='*') { |
GobaudJeanLouis | 0:9a44543bf4fc | 240 | for(int i=0; i<(j+3); i++) { |
GobaudJeanLouis | 0:9a44543bf4fc | 241 | Format[i]=Format[i+1]; |
GobaudJeanLouis | 0:9a44543bf4fc | 242 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 243 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 244 | //Test si pos x/y |
GobaudJeanLouis | 0:9a44543bf4fc | 245 | if (j!=i) { |
GobaudJeanLouis | 0:9a44543bf4fc | 246 | this->putc(0x1b); |
GobaudJeanLouis | 0:9a44543bf4fc | 247 | this->putc(0x4c); |
GobaudJeanLouis | 0:9a44543bf4fc | 248 | this->putc(c); |
GobaudJeanLouis | 0:9a44543bf4fc | 249 | this->putc(l); |
GobaudJeanLouis | 0:9a44543bf4fc | 250 | } |
GobaudJeanLouis | 0:9a44543bf4fc | 251 | //<<<<<<< IMPRESSION FINALE >>>>>>>>>>>>>>>>>>>> |
GobaudJeanLouis | 0:9a44543bf4fc | 252 | |
GobaudJeanLouis | 0:9a44543bf4fc | 253 | //this->printf("%s",Format); |
GobaudJeanLouis | 0:9a44543bf4fc | 254 | this->printf(Format,Data); |
GobaudJeanLouis | 0:9a44543bf4fc | 255 | |
GobaudJeanLouis | 0:9a44543bf4fc | 256 | } |