Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
APSEPM207LV.cpp
00001 00002 00003 #include "mbed.h" 00004 #include "APSEPM207LV.h" 00005 00006 APSEPM207LV::APSEPM207LV(PinName tx, PinName rx,uint32_t baud) 00007 : 00008 _serial_p(new Serial(tx, rx)), 00009 _serial(*_serial_p) 00010 { 00011 _serial.baud(baud); 00012 initialize(); 00013 } 00014 00015 APSEPM207LV::APSEPM207LV(Serial &serial_obj, uint32_t baud) 00016 : 00017 _serial_p(NULL), 00018 _serial(serial_obj) 00019 { 00020 _serial.baud(baud); 00021 initialize(); 00022 } 00023 00024 APSEPM207LV::~APSEPM207LV() 00025 { 00026 } 00027 00028 00029 void APSEPM207LV::initialize(void) 00030 { 00031 _serial.putc(0x1B); 00032 _serial.putc(0x40); 00033 } 00034 00035 void APSEPM207LV::printTest(void) 00036 { 00037 _serial.putc(0x1D); 00038 _serial.putc(0x28); 00039 _serial.putc(0x41); 00040 } 00041 00042 00043 void APSEPM207LV::lineFeed(void) 00044 { 00045 _serial.putc(0x0A); 00046 00047 } 00048 00049 00050 void APSEPM207LV::carriageReturn(void) 00051 { 00052 _serial.putc(0x0D); 00053 } 00054 00055 00056 00057 void APSEPM207LV::putLineFeed(uint8_t lines) 00058 { 00059 for(uint32_t i = 0; i < lines; i++) { 00060 _serial.putc('\r'); 00061 } 00062 } 00063 00064 void APSEPM207LV::printnputLineFeed(uint8_t lines) 00065 { 00066 _serial.putc(0x1B); 00067 _serial.putc(0x64); 00068 _serial.putc(lines); 00069 00070 } 00071 00072 void APSEPM207LV::setdefaultLinespacing(void) 00073 { 00074 _serial.putc(0x1B); 00075 _serial.putc(0x32); 00076 _serial.putc(0x32); 00077 00078 } 00079 00080 void APSEPM207LV::setLinespacing(uint8_t lines) 00081 { 00082 uint8_t num=32; 00083 if(lines==1) 00084 num=32; 00085 else if(lines==2) 00086 num=64; 00087 else if(lines==3) 00088 num=96; 00089 00090 00091 _serial.putc(0x1B); 00092 _serial.putc(0x33); 00093 _serial.putc(num); 00094 00095 } 00096 00097 void APSEPM207LV::setleftMargin(uint8_t n1, uint8_t n2) 00098 { 00099 _serial.putc(0x1D); 00100 _serial.putc(0x4C); 00101 _serial.putc(n1); 00102 _serial.putc(n2); 00103 } 00104 00105 void APSEPM207LV::absoluteprintPosition(uint8_t n1, uint8_t n2) 00106 { 00107 _serial.putc(0x1B); 00108 _serial.putc(0x24); 00109 _serial.putc(n1); 00110 _serial.putc(n2); 00111 } 00112 00113 void APSEPM207LV::whiteblack(uint8_t n1) 00114 { 00115 _serial.putc(0x1D); 00116 _serial.putc(0x42); 00117 _serial.putc(n1);// n1=0 for OFF n1=1 for ON 00118 00119 } 00120 00121 void APSEPM207LV::papersensorstatus(void) 00122 { 00123 _serial.putc(0x1B); 00124 _serial.putc(0x76); 00125 00126 // Poll Rx pin of printer Here 00127 //0x00 Paper Present 00128 //0x20 Paper Absent 00129 } 00130 00131 void APSEPM207LV::printModes(uint8_t n) 00132 { 00133 _serial.putc(0x1B); 00134 _serial.putc(0x21); 00135 _serial.putc(n); 00136 00137 00138 00139 //Possible values for n 00140 //00 = 32 Char Normal 08 = 32 Char BOLD 00141 //01 = 24 Char Normal 09 = 24 Char BOLD 00142 //11 = 24 Char Double Height 19 = 24 Char Double Height & BOLD 00143 //21 = 24 Char Double Width 29 = 24 Char Double Width & BOLD 00144 //31 = 24 Char Double Height & Double Width 39 = 24 Char Double Height & Double Width & BOLD 00145 //10 = 32 Char Double Height 18 = 32 Char Double Height & BOLD 00146 //20 = 32 Char Double Width 28 = 32 Char Double Width & BOLD 00147 //30 = 32 Char Double Height & Double Width 38 = 32 Char Double Height & Double Width & BOLD 00148 00149 } 00150 00151 void APSEPM207LV::clearBuffer(void) 00152 { 00153 _serial.putc(0x18); 00154 } 00155 00156 void APSEPM207LV::putHorizontaltab(void) 00157 { 00158 _serial.putc(0x09); 00159 } 00160 00161 void APSEPM207LV::setDoubleSizeHeight(void) 00162 { 00163 _serial.printf("\x1D\x21\x01"); 00164 } 00165 00166 void APSEPM207LV::clearDoubleSizeHeight(void) 00167 { 00168 _serial.printf("\x1D\x21\x00"); 00169 } 00170 00171 void APSEPM207LV::setDoubleSizeWidth(void) 00172 { 00173 _serial.printf("\x1D\x21\x10"); 00174 } 00175 00176 void APSEPM207LV::clearDoubleSizeWidth(void) 00177 { 00178 _serial.printf("\x1D\x21\x00"); 00179 } 00180 00181 void APSEPM207LV::setLargeFont(void) 00182 { 00183 _serial.printf("\x1D\x21\x11"); 00184 } 00185 00186 void APSEPM207LV::clearLargeFont() 00187 { 00188 _serial.printf("\x1D\x21\x00"); 00189 } 00190 00191 void APSEPM207LV::setANKFont(uint32_t font) 00192 { 00193 _serial.putc(0x1B); 00194 _serial.putc(0x68); 00195 _serial.putc(font); 00196 } 00197 00198 void APSEPM207LV::setKanjiFont(uint32_t font) 00199 { 00200 _serial.putc(0x12); 00201 _serial.putc(0x53); 00202 _serial.putc(font); 00203 } 00204 00205 void APSEPM207LV::printQRCode(uint32_t err, const char* param) 00206 { 00207 uint32_t len = strlen(param); 00208 char buf[4] = {0x1D, 0x78}; 00209 buf[2] = err; 00210 buf[3] = len; 00211 for (uint32_t i = 0; i < sizeof(buf); i++) { 00212 _serial.putc(buf[i]); 00213 } 00214 for (uint32_t i = 0; i < len; i++) { 00215 _serial.putc(param[i]); 00216 } 00217 } 00218 00219 void APSEPM207LV::printBarCode(uint32_t code, const char* param) 00220 { 00221 char buf[3] = {0x1D, 0x6B}; 00222 buf[2] = code; 00223 for (uint32_t i = 0; i < sizeof(buf); i++) { 00224 _serial.putc(buf[i]); 00225 } 00226 for (uint32_t i = 0; i < strlen(param); i++) { 00227 _serial.putc(param[i]); 00228 } 00229 _serial.putc('\0'); 00230 } 00231 00232 void APSEPM207LV::printBitmapImage(uint32_t mode, uint16_t lines, const uint8_t * image) 00233 { 00234 char buf[3] = {0x1C, 0x2A}; 00235 buf[2] = mode; 00236 for (uint32_t i = 0; i < sizeof(buf); i++) { 00237 _serial.putc(buf[i]); 00238 } 00239 _serial.putc((lines >> 8) & 0xFF); // n1 00240 _serial.putc((lines >> 0) & 0xFF); // n2 00241 00242 if (mode == 0x61) { 00243 return; 00244 } 00245 00246 for (uint32_t i = 0; i < (48 * lines); i++) { 00247 _serial.putc(image[i]); 00248 } 00249 } 00250 00251 void APSEPM207LV::setLineSpaceing(uint32_t space) 00252 { 00253 _serial.putc(0x1B); 00254 _serial.putc(0x33); 00255 _serial.putc(space); 00256 } 00257 00258 void APSEPM207LV::defaultLineSpaceing() 00259 { 00260 _serial.printf("\x1B\x33\x04"); 00261 } 00262 00263 void APSEPM207LV::setPrintDirection(uint32_t direction) 00264 { 00265 _serial.putc(0x1B); 00266 _serial.putc(0x49); 00267 _serial.putc(direction); 00268 } 00269 00270 void APSEPM207LV::putPaperFeed(uint32_t space) 00271 { 00272 _serial.putc(0x1B); 00273 _serial.putc(0x4A); 00274 _serial.putc(space); 00275 } 00276 00277 void APSEPM207LV::setInterCharacterSpace(uint32_t space) 00278 { 00279 _serial.putc(0x1B); 00280 _serial.putc(0x20); 00281 _serial.putc(space); 00282 } 00283 00284 void APSEPM207LV::defaultInterCharacterSpace() 00285 { 00286 _serial.printf("\x1B\x20\x01"); 00287 } 00288 00289 void APSEPM207LV::putPrintPosition(uint32_t position) 00290 { 00291 _serial.putc(0x1B); 00292 _serial.putc(0x6c); 00293 _serial.putc(position); 00294 } 00295 00296 void APSEPM207LV::setScript(script_mode script) 00297 { 00298 _serial.putc(0x1B); 00299 _serial.putc(0x73); 00300 _serial.putc(script); 00301 } 00302 00303 00304 00305 void APSEPM207LV::clearScript() 00306 { 00307 _serial.printf("\x1B\x73\x30"); 00308 } 00309 00310 void APSEPM207LV::setQuadrupleSize() 00311 { 00312 _serial.printf("\x1C\x57\x31"); 00313 } 00314 00315 void APSEPM207LV::clearQuadrupleSize() 00316 { 00317 _serial.printf("\x1C\x57\x30"); 00318 } 00319 00320 void APSEPM207LV::setEnlargement(uint32_t width, uint32_t height) 00321 { 00322 _serial.putc(0x1C); 00323 _serial.putc(0x65); 00324 _serial.putc(width); 00325 _serial.putc(height); 00326 } 00327 00328 void APSEPM207LV::clearEnlargement() 00329 { 00330 _serial.printf("\x1C\x65\x31\x31"); 00331 } 00332 00333 void APSEPM207LV::setBarCodeHeight(uint32_t height) 00334 { 00335 _serial.putc(0x1D); 00336 _serial.putc(0x68); 00337 _serial.putc(height); 00338 } 00339 00340 void APSEPM207LV::defaultBarCodeHeight() 00341 { 00342 _serial.printf("\x1D\x68\x50"); 00343 } 00344 00345 void APSEPM207LV::setBarCodeBarSize(uint32_t narrowbar, uint32_t widebar) 00346 { 00347 _serial.putc(0x1D); 00348 _serial.putc(0x77); 00349 _serial.putc(narrowbar); 00350 _serial.putc(widebar); 00351 } 00352 00353 void APSEPM207LV::defaultBarCodeBarSize() 00354 { 00355 _serial.printf("\x1D\x77\x02\x05"); 00356 } 00357 00358 int APSEPM207LV::_putc(int value) 00359 { 00360 _serial.putc(value); 00361 return value; 00362 } 00363 00364 int APSEPM207LV::_getc() 00365 { 00366 return -1; 00367 } 00368 00369 00370
Generated on Thu Jul 28 2022 13:51:15 by
1.7.2