EPSON Thermal Printer RS232 Interface Model --TM-T82II

Dependents:   EPSON_Printer

Committer:
shivanandgowdakr
Date:
Mon Jul 09 08:07:02 2018 +0000
Revision:
0:19ca061f5bcf
EPSON Thermal Printer Code RS232 Interface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shivanandgowdakr 0:19ca061f5bcf 1 #include "mbed.h"
shivanandgowdakr 0:19ca061f5bcf 2 #include "EPSON.h"
shivanandgowdakr 0:19ca061f5bcf 3
shivanandgowdakr 0:19ca061f5bcf 4 EPSON::EPSON(PinName tx, PinName rx,uint32_t baud)
shivanandgowdakr 0:19ca061f5bcf 5 :
shivanandgowdakr 0:19ca061f5bcf 6 _serial_p(new Serial(tx, rx)),
shivanandgowdakr 0:19ca061f5bcf 7 _serial(*_serial_p)
shivanandgowdakr 0:19ca061f5bcf 8 {
shivanandgowdakr 0:19ca061f5bcf 9 _serial.baud(baud);
shivanandgowdakr 0:19ca061f5bcf 10 initialize();
shivanandgowdakr 0:19ca061f5bcf 11 }
shivanandgowdakr 0:19ca061f5bcf 12
shivanandgowdakr 0:19ca061f5bcf 13 EPSON::EPSON(Serial &serial_obj, uint32_t baud)
shivanandgowdakr 0:19ca061f5bcf 14 :
shivanandgowdakr 0:19ca061f5bcf 15 _serial_p(NULL),
shivanandgowdakr 0:19ca061f5bcf 16 _serial(serial_obj)
shivanandgowdakr 0:19ca061f5bcf 17 {
shivanandgowdakr 0:19ca061f5bcf 18 _serial.baud(baud);
shivanandgowdakr 0:19ca061f5bcf 19 initialize();
shivanandgowdakr 0:19ca061f5bcf 20 }
shivanandgowdakr 0:19ca061f5bcf 21
shivanandgowdakr 0:19ca061f5bcf 22 EPSON::~EPSON()
shivanandgowdakr 0:19ca061f5bcf 23 {
shivanandgowdakr 0:19ca061f5bcf 24 }
shivanandgowdakr 0:19ca061f5bcf 25
shivanandgowdakr 0:19ca061f5bcf 26
shivanandgowdakr 0:19ca061f5bcf 27 void EPSON::initialize(void)
shivanandgowdakr 0:19ca061f5bcf 28 {
shivanandgowdakr 0:19ca061f5bcf 29 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 30 _serial.putc(0x40);
shivanandgowdakr 0:19ca061f5bcf 31 _serial.putc(0x1C);
shivanandgowdakr 0:19ca061f5bcf 32 }
shivanandgowdakr 0:19ca061f5bcf 33
shivanandgowdakr 0:19ca061f5bcf 34
shivanandgowdakr 0:19ca061f5bcf 35 void EPSON::printLeft(void)
shivanandgowdakr 0:19ca061f5bcf 36 {
shivanandgowdakr 0:19ca061f5bcf 37 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 38 _serial.putc(0x40);
shivanandgowdakr 0:19ca061f5bcf 39 _serial.putc(0x30);
shivanandgowdakr 0:19ca061f5bcf 40 }
shivanandgowdakr 0:19ca061f5bcf 41
shivanandgowdakr 0:19ca061f5bcf 42 void EPSON::printRight(void)
shivanandgowdakr 0:19ca061f5bcf 43 {
shivanandgowdakr 0:19ca061f5bcf 44 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 45 _serial.putc(0x40);
shivanandgowdakr 0:19ca061f5bcf 46 _serial.putc(0x32);
shivanandgowdakr 0:19ca061f5bcf 47 }
shivanandgowdakr 0:19ca061f5bcf 48
shivanandgowdakr 0:19ca061f5bcf 49
shivanandgowdakr 0:19ca061f5bcf 50
shivanandgowdakr 0:19ca061f5bcf 51 void EPSON::printCenter(void)
shivanandgowdakr 0:19ca061f5bcf 52 {
shivanandgowdakr 0:19ca061f5bcf 53 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 54 _serial.putc(0x40);
shivanandgowdakr 0:19ca061f5bcf 55 _serial.putc(0x31);
shivanandgowdakr 0:19ca061f5bcf 56 }
shivanandgowdakr 0:19ca061f5bcf 57
shivanandgowdakr 0:19ca061f5bcf 58 void EPSON::font_Zero(void)
shivanandgowdakr 0:19ca061f5bcf 59 {
shivanandgowdakr 0:19ca061f5bcf 60 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 61 _serial.putc(0x21);
shivanandgowdakr 0:19ca061f5bcf 62 _serial.putc(0x00);
shivanandgowdakr 0:19ca061f5bcf 63 }
shivanandgowdakr 0:19ca061f5bcf 64
shivanandgowdakr 0:19ca061f5bcf 65 void EPSON::font_OneZero(void)
shivanandgowdakr 0:19ca061f5bcf 66 {
shivanandgowdakr 0:19ca061f5bcf 67 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 68 _serial.putc(0x21);
shivanandgowdakr 0:19ca061f5bcf 69 _serial.putc(0x10);
shivanandgowdakr 0:19ca061f5bcf 70 }
shivanandgowdakr 0:19ca061f5bcf 71
shivanandgowdakr 0:19ca061f5bcf 72 void EPSON::font_ZeroOne(void)
shivanandgowdakr 0:19ca061f5bcf 73 {
shivanandgowdakr 0:19ca061f5bcf 74 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 75 _serial.putc(0x21);
shivanandgowdakr 0:19ca061f5bcf 76 _serial.putc(0x01);
shivanandgowdakr 0:19ca061f5bcf 77 }
shivanandgowdakr 0:19ca061f5bcf 78
shivanandgowdakr 0:19ca061f5bcf 79 int EPSON:: PrintBarCode(char *data,int ilen)
shivanandgowdakr 0:19ca061f5bcf 80 {
shivanandgowdakr 0:19ca061f5bcf 81 char str_pdata[100];
shivanandgowdakr 0:19ca061f5bcf 82 char header[] = {0x1D, 0x48, 0x02, 0x1D, 0x66, 0x00, 0x1D, 0x68, 0x51, 0x1D, 0x77, 0x02, 0x1D, 0x6B, 0x49};
shivanandgowdakr 0:19ca061f5bcf 83 int idata_len, raw_data_len;
shivanandgowdakr 0:19ca061f5bcf 84
shivanandgowdakr 0:19ca061f5bcf 85 memset(str_pdata, 0x00, sizeof(str_pdata));
shivanandgowdakr 0:19ca061f5bcf 86
shivanandgowdakr 0:19ca061f5bcf 87 memcpy(str_pdata,header, 15);
shivanandgowdakr 0:19ca061f5bcf 88 idata_len = 15;
shivanandgowdakr 0:19ca061f5bcf 89
shivanandgowdakr 0:19ca061f5bcf 90 raw_data_len = ilen + 2;
shivanandgowdakr 0:19ca061f5bcf 91 str_pdata[idata_len] = raw_data_len;
shivanandgowdakr 0:19ca061f5bcf 92
shivanandgowdakr 0:19ca061f5bcf 93 idata_len++;
shivanandgowdakr 0:19ca061f5bcf 94 memcpy(str_pdata+idata_len, "{A", 2);
shivanandgowdakr 0:19ca061f5bcf 95 idata_len += 2;
shivanandgowdakr 0:19ca061f5bcf 96 memcpy(str_pdata+idata_len, data, ilen);
shivanandgowdakr 0:19ca061f5bcf 97 idata_len += ilen;
shivanandgowdakr 0:19ca061f5bcf 98
shivanandgowdakr 0:19ca061f5bcf 99 _serial.printf("%s",str_pdata );
shivanandgowdakr 0:19ca061f5bcf 100
shivanandgowdakr 0:19ca061f5bcf 101 return 1;
shivanandgowdakr 0:19ca061f5bcf 102
shivanandgowdakr 0:19ca061f5bcf 103 }
shivanandgowdakr 0:19ca061f5bcf 104
shivanandgowdakr 0:19ca061f5bcf 105
shivanandgowdakr 0:19ca061f5bcf 106 void EPSON::printTest(void)
shivanandgowdakr 0:19ca061f5bcf 107 {
shivanandgowdakr 0:19ca061f5bcf 108 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 109 _serial.putc(0x28);
shivanandgowdakr 0:19ca061f5bcf 110 _serial.putc(0x41);
shivanandgowdakr 0:19ca061f5bcf 111 }
shivanandgowdakr 0:19ca061f5bcf 112
shivanandgowdakr 0:19ca061f5bcf 113
shivanandgowdakr 0:19ca061f5bcf 114 void EPSON::lineFeed(void)
shivanandgowdakr 0:19ca061f5bcf 115 {
shivanandgowdakr 0:19ca061f5bcf 116 _serial.putc(0x0A);
shivanandgowdakr 0:19ca061f5bcf 117
shivanandgowdakr 0:19ca061f5bcf 118 }
shivanandgowdakr 0:19ca061f5bcf 119
shivanandgowdakr 0:19ca061f5bcf 120
shivanandgowdakr 0:19ca061f5bcf 121 void EPSON::carriageReturn(void)
shivanandgowdakr 0:19ca061f5bcf 122 {
shivanandgowdakr 0:19ca061f5bcf 123 _serial.putc(0x0D);
shivanandgowdakr 0:19ca061f5bcf 124 }
shivanandgowdakr 0:19ca061f5bcf 125
shivanandgowdakr 0:19ca061f5bcf 126
shivanandgowdakr 0:19ca061f5bcf 127
shivanandgowdakr 0:19ca061f5bcf 128 void EPSON::putLineFeed(uint8_t lines)
shivanandgowdakr 0:19ca061f5bcf 129 {
shivanandgowdakr 0:19ca061f5bcf 130 for(uint32_t i = 0; i < lines; i++) {
shivanandgowdakr 0:19ca061f5bcf 131 _serial.putc('\r');
shivanandgowdakr 0:19ca061f5bcf 132 }
shivanandgowdakr 0:19ca061f5bcf 133 }
shivanandgowdakr 0:19ca061f5bcf 134
shivanandgowdakr 0:19ca061f5bcf 135 void EPSON::printnputLineFeed(uint8_t lines)
shivanandgowdakr 0:19ca061f5bcf 136 {
shivanandgowdakr 0:19ca061f5bcf 137 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 138 _serial.putc(0x64);
shivanandgowdakr 0:19ca061f5bcf 139 _serial.putc(lines);
shivanandgowdakr 0:19ca061f5bcf 140
shivanandgowdakr 0:19ca061f5bcf 141 }
shivanandgowdakr 0:19ca061f5bcf 142
shivanandgowdakr 0:19ca061f5bcf 143 void EPSON::setdefaultLinespacing(void)
shivanandgowdakr 0:19ca061f5bcf 144 {
shivanandgowdakr 0:19ca061f5bcf 145 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 146 _serial.putc(0x32);
shivanandgowdakr 0:19ca061f5bcf 147 _serial.putc(0x32);
shivanandgowdakr 0:19ca061f5bcf 148
shivanandgowdakr 0:19ca061f5bcf 149 }
shivanandgowdakr 0:19ca061f5bcf 150
shivanandgowdakr 0:19ca061f5bcf 151 void EPSON::setLinespacing(uint8_t lines)
shivanandgowdakr 0:19ca061f5bcf 152 {
shivanandgowdakr 0:19ca061f5bcf 153 uint8_t num=32;
shivanandgowdakr 0:19ca061f5bcf 154 if(lines==1)
shivanandgowdakr 0:19ca061f5bcf 155 num=32;
shivanandgowdakr 0:19ca061f5bcf 156 else if(lines==2)
shivanandgowdakr 0:19ca061f5bcf 157 num=64;
shivanandgowdakr 0:19ca061f5bcf 158 else if(lines==3)
shivanandgowdakr 0:19ca061f5bcf 159 num=96;
shivanandgowdakr 0:19ca061f5bcf 160
shivanandgowdakr 0:19ca061f5bcf 161
shivanandgowdakr 0:19ca061f5bcf 162 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 163 _serial.putc(0x33);
shivanandgowdakr 0:19ca061f5bcf 164 _serial.putc(num);
shivanandgowdakr 0:19ca061f5bcf 165
shivanandgowdakr 0:19ca061f5bcf 166 }
shivanandgowdakr 0:19ca061f5bcf 167
shivanandgowdakr 0:19ca061f5bcf 168 void EPSON::setleftMargin(uint8_t n1, uint8_t n2)
shivanandgowdakr 0:19ca061f5bcf 169 {
shivanandgowdakr 0:19ca061f5bcf 170 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 171 _serial.putc(0x4C);
shivanandgowdakr 0:19ca061f5bcf 172 _serial.putc(n1);
shivanandgowdakr 0:19ca061f5bcf 173 _serial.putc(n2);
shivanandgowdakr 0:19ca061f5bcf 174 }
shivanandgowdakr 0:19ca061f5bcf 175
shivanandgowdakr 0:19ca061f5bcf 176 void EPSON::absoluteprintPosition(uint8_t n1, uint8_t n2)
shivanandgowdakr 0:19ca061f5bcf 177 {
shivanandgowdakr 0:19ca061f5bcf 178 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 179 _serial.putc(0x24);
shivanandgowdakr 0:19ca061f5bcf 180 _serial.putc(n1);
shivanandgowdakr 0:19ca061f5bcf 181 _serial.putc(n2);
shivanandgowdakr 0:19ca061f5bcf 182 }
shivanandgowdakr 0:19ca061f5bcf 183
shivanandgowdakr 0:19ca061f5bcf 184 void EPSON::whiteblack(uint8_t n1)
shivanandgowdakr 0:19ca061f5bcf 185 {
shivanandgowdakr 0:19ca061f5bcf 186 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 187 _serial.putc(0x42);
shivanandgowdakr 0:19ca061f5bcf 188 _serial.putc(n1);// n1=0 for OFF n1=1 for ON
shivanandgowdakr 0:19ca061f5bcf 189
shivanandgowdakr 0:19ca061f5bcf 190 }
shivanandgowdakr 0:19ca061f5bcf 191
shivanandgowdakr 0:19ca061f5bcf 192 void EPSON::papersensorstatus(void)
shivanandgowdakr 0:19ca061f5bcf 193 {
shivanandgowdakr 0:19ca061f5bcf 194 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 195 _serial.putc(0x76);
shivanandgowdakr 0:19ca061f5bcf 196
shivanandgowdakr 0:19ca061f5bcf 197 // Poll Rx pin of printer Here
shivanandgowdakr 0:19ca061f5bcf 198 //0x00 Paper Present
shivanandgowdakr 0:19ca061f5bcf 199 //0x20 Paper Absent
shivanandgowdakr 0:19ca061f5bcf 200 }
shivanandgowdakr 0:19ca061f5bcf 201
shivanandgowdakr 0:19ca061f5bcf 202 void EPSON::printModes(uint8_t n)
shivanandgowdakr 0:19ca061f5bcf 203 {
shivanandgowdakr 0:19ca061f5bcf 204 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 205 _serial.putc(0x21);
shivanandgowdakr 0:19ca061f5bcf 206 _serial.putc(n);
shivanandgowdakr 0:19ca061f5bcf 207
shivanandgowdakr 0:19ca061f5bcf 208
shivanandgowdakr 0:19ca061f5bcf 209
shivanandgowdakr 0:19ca061f5bcf 210 //Possible values for n
shivanandgowdakr 0:19ca061f5bcf 211 //00 = 32 Char Normal 08 = 32 Char BOLD
shivanandgowdakr 0:19ca061f5bcf 212 //01 = 24 Char Normal 09 = 24 Char BOLD
shivanandgowdakr 0:19ca061f5bcf 213 //11 = 24 Char Double Height 19 = 24 Char Double Height & BOLD
shivanandgowdakr 0:19ca061f5bcf 214 //21 = 24 Char Double Width 29 = 24 Char Double Width & BOLD
shivanandgowdakr 0:19ca061f5bcf 215 //31 = 24 Char Double Height & Double Width 39 = 24 Char Double Height & Double Width & BOLD
shivanandgowdakr 0:19ca061f5bcf 216 //10 = 32 Char Double Height 18 = 32 Char Double Height & BOLD
shivanandgowdakr 0:19ca061f5bcf 217 //20 = 32 Char Double Width 28 = 32 Char Double Width & BOLD
shivanandgowdakr 0:19ca061f5bcf 218 //30 = 32 Char Double Height & Double Width 38 = 32 Char Double Height & Double Width & BOLD
shivanandgowdakr 0:19ca061f5bcf 219
shivanandgowdakr 0:19ca061f5bcf 220 }
shivanandgowdakr 0:19ca061f5bcf 221
shivanandgowdakr 0:19ca061f5bcf 222 void EPSON::clearBuffer(void)
shivanandgowdakr 0:19ca061f5bcf 223 {
shivanandgowdakr 0:19ca061f5bcf 224 _serial.putc(0x18);
shivanandgowdakr 0:19ca061f5bcf 225
shivanandgowdakr 0:19ca061f5bcf 226
shivanandgowdakr 0:19ca061f5bcf 227 //
shivanandgowdakr 0:19ca061f5bcf 228 //[Name] Clear buffer(s)
shivanandgowdakr 0:19ca061f5bcf 229 //[Format]
shivanandgowdakr 0:19ca061f5bcf 230 //ASCII DLE DC4 fn d1 d2 d3 d4 d5 d6 d7
shivanandgowdakr 0:19ca061f5bcf 231 //Hex 10 14 08 01 03 14 01 06 02 08
shivanandgowdakr 0:19ca061f5bcf 232 //Decimal 16 20 8 1 3 20 1 6 2 8
shivanandgowdakr 0:19ca061f5bcf 233
shivanandgowdakr 0:19ca061f5bcf 234
shivanandgowdakr 0:19ca061f5bcf 235 _serial.putc(0x10);
shivanandgowdakr 0:19ca061f5bcf 236 _serial.putc(0x14);
shivanandgowdakr 0:19ca061f5bcf 237 _serial.putc(0x08);
shivanandgowdakr 0:19ca061f5bcf 238 _serial.putc(0x01);
shivanandgowdakr 0:19ca061f5bcf 239 _serial.putc(0x03);
shivanandgowdakr 0:19ca061f5bcf 240 _serial.putc(0x14);
shivanandgowdakr 0:19ca061f5bcf 241 _serial.putc(0x01);
shivanandgowdakr 0:19ca061f5bcf 242 _serial.putc(0x06);
shivanandgowdakr 0:19ca061f5bcf 243 _serial.putc(0x02);
shivanandgowdakr 0:19ca061f5bcf 244 _serial.putc(0x08);
shivanandgowdakr 0:19ca061f5bcf 245
shivanandgowdakr 0:19ca061f5bcf 246 }
shivanandgowdakr 0:19ca061f5bcf 247
shivanandgowdakr 0:19ca061f5bcf 248 void EPSON::putHorizontaltab(void)
shivanandgowdakr 0:19ca061f5bcf 249 {
shivanandgowdakr 0:19ca061f5bcf 250 _serial.putc(0x09);
shivanandgowdakr 0:19ca061f5bcf 251 }
shivanandgowdakr 0:19ca061f5bcf 252
shivanandgowdakr 0:19ca061f5bcf 253 void EPSON::setDoubleSizeHeight(void)
shivanandgowdakr 0:19ca061f5bcf 254 {
shivanandgowdakr 0:19ca061f5bcf 255 _serial.printf("\x1D\x21\x01");
shivanandgowdakr 0:19ca061f5bcf 256 }
shivanandgowdakr 0:19ca061f5bcf 257
shivanandgowdakr 0:19ca061f5bcf 258 void EPSON::clearDoubleSizeHeight(void)
shivanandgowdakr 0:19ca061f5bcf 259 {
shivanandgowdakr 0:19ca061f5bcf 260 _serial.printf("\x1D\x21\x00");
shivanandgowdakr 0:19ca061f5bcf 261 }
shivanandgowdakr 0:19ca061f5bcf 262
shivanandgowdakr 0:19ca061f5bcf 263 void EPSON::setDoubleSizeWidth(void)
shivanandgowdakr 0:19ca061f5bcf 264 {
shivanandgowdakr 0:19ca061f5bcf 265 _serial.printf("\x1D\x21\x10");
shivanandgowdakr 0:19ca061f5bcf 266 }
shivanandgowdakr 0:19ca061f5bcf 267
shivanandgowdakr 0:19ca061f5bcf 268 void EPSON::clearDoubleSizeWidth(void)
shivanandgowdakr 0:19ca061f5bcf 269 {
shivanandgowdakr 0:19ca061f5bcf 270 _serial.printf("\x1D\x21\x00");
shivanandgowdakr 0:19ca061f5bcf 271 }
shivanandgowdakr 0:19ca061f5bcf 272
shivanandgowdakr 0:19ca061f5bcf 273 void EPSON::setLargeFont(void)
shivanandgowdakr 0:19ca061f5bcf 274 {
shivanandgowdakr 0:19ca061f5bcf 275 _serial.printf("\x1D\x21\x11");
shivanandgowdakr 0:19ca061f5bcf 276 }
shivanandgowdakr 0:19ca061f5bcf 277
shivanandgowdakr 0:19ca061f5bcf 278 void EPSON::clearLargeFont()
shivanandgowdakr 0:19ca061f5bcf 279 {
shivanandgowdakr 0:19ca061f5bcf 280 _serial.printf("\x1D\x21\x00");
shivanandgowdakr 0:19ca061f5bcf 281 }
shivanandgowdakr 0:19ca061f5bcf 282
shivanandgowdakr 0:19ca061f5bcf 283 void EPSON::setANKFont(uint32_t font)
shivanandgowdakr 0:19ca061f5bcf 284 {
shivanandgowdakr 0:19ca061f5bcf 285 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 286 _serial.putc(0x68);
shivanandgowdakr 0:19ca061f5bcf 287 _serial.putc(font);
shivanandgowdakr 0:19ca061f5bcf 288 }
shivanandgowdakr 0:19ca061f5bcf 289
shivanandgowdakr 0:19ca061f5bcf 290 void EPSON::setKanjiFont(uint32_t font)
shivanandgowdakr 0:19ca061f5bcf 291 {
shivanandgowdakr 0:19ca061f5bcf 292 _serial.putc(0x12);
shivanandgowdakr 0:19ca061f5bcf 293 _serial.putc(0x53);
shivanandgowdakr 0:19ca061f5bcf 294 _serial.putc(font);
shivanandgowdakr 0:19ca061f5bcf 295 }
shivanandgowdakr 0:19ca061f5bcf 296
shivanandgowdakr 0:19ca061f5bcf 297 void EPSON::printQRCode(uint32_t err, const char* param)
shivanandgowdakr 0:19ca061f5bcf 298 {
shivanandgowdakr 0:19ca061f5bcf 299 uint32_t len = strlen(param);
shivanandgowdakr 0:19ca061f5bcf 300 char buf[4] = {0x1D, 0x78};
shivanandgowdakr 0:19ca061f5bcf 301 buf[2] = err;
shivanandgowdakr 0:19ca061f5bcf 302 buf[3] = len;
shivanandgowdakr 0:19ca061f5bcf 303 for (uint32_t i = 0; i < sizeof(buf); i++) {
shivanandgowdakr 0:19ca061f5bcf 304 _serial.putc(buf[i]);
shivanandgowdakr 0:19ca061f5bcf 305 }
shivanandgowdakr 0:19ca061f5bcf 306 for (uint32_t i = 0; i < len; i++) {
shivanandgowdakr 0:19ca061f5bcf 307 _serial.putc(param[i]);
shivanandgowdakr 0:19ca061f5bcf 308 }
shivanandgowdakr 0:19ca061f5bcf 309 }
shivanandgowdakr 0:19ca061f5bcf 310
shivanandgowdakr 0:19ca061f5bcf 311 void EPSON::printBarCode(uint32_t code, const char* param)
shivanandgowdakr 0:19ca061f5bcf 312 {
shivanandgowdakr 0:19ca061f5bcf 313 char buf[3] = {0x1D, 0x6B};
shivanandgowdakr 0:19ca061f5bcf 314 buf[2] = code;
shivanandgowdakr 0:19ca061f5bcf 315 for (uint32_t i = 0; i < sizeof(buf); i++) {
shivanandgowdakr 0:19ca061f5bcf 316 _serial.putc(buf[i]);
shivanandgowdakr 0:19ca061f5bcf 317 }
shivanandgowdakr 0:19ca061f5bcf 318 for (uint32_t i = 0; i < strlen(param); i++) {
shivanandgowdakr 0:19ca061f5bcf 319 _serial.putc(param[i]);
shivanandgowdakr 0:19ca061f5bcf 320 }
shivanandgowdakr 0:19ca061f5bcf 321 _serial.putc('\0');
shivanandgowdakr 0:19ca061f5bcf 322 }
shivanandgowdakr 0:19ca061f5bcf 323
shivanandgowdakr 0:19ca061f5bcf 324 void EPSON::printBitmapImage(uint32_t mode, uint16_t lines, const uint8_t * image)
shivanandgowdakr 0:19ca061f5bcf 325 {
shivanandgowdakr 0:19ca061f5bcf 326 char buf[3] = {0x1C, 0x2A};
shivanandgowdakr 0:19ca061f5bcf 327 buf[2] = mode;
shivanandgowdakr 0:19ca061f5bcf 328 for (uint32_t i = 0; i < sizeof(buf); i++) {
shivanandgowdakr 0:19ca061f5bcf 329 _serial.putc(buf[i]);
shivanandgowdakr 0:19ca061f5bcf 330 }
shivanandgowdakr 0:19ca061f5bcf 331 _serial.putc((lines >> 8) & 0xFF); // n1
shivanandgowdakr 0:19ca061f5bcf 332 _serial.putc((lines >> 0) & 0xFF); // n2
shivanandgowdakr 0:19ca061f5bcf 333
shivanandgowdakr 0:19ca061f5bcf 334 if (mode == 0x61) {
shivanandgowdakr 0:19ca061f5bcf 335 return;
shivanandgowdakr 0:19ca061f5bcf 336 }
shivanandgowdakr 0:19ca061f5bcf 337
shivanandgowdakr 0:19ca061f5bcf 338 for (uint32_t i = 0; i < (48 * lines); i++) {
shivanandgowdakr 0:19ca061f5bcf 339 _serial.putc(image[i]);
shivanandgowdakr 0:19ca061f5bcf 340 }
shivanandgowdakr 0:19ca061f5bcf 341 }
shivanandgowdakr 0:19ca061f5bcf 342
shivanandgowdakr 0:19ca061f5bcf 343 void EPSON::setLineSpaceing(uint32_t space)
shivanandgowdakr 0:19ca061f5bcf 344 {
shivanandgowdakr 0:19ca061f5bcf 345 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 346 _serial.putc(0x33);
shivanandgowdakr 0:19ca061f5bcf 347 _serial.putc(space);
shivanandgowdakr 0:19ca061f5bcf 348 }
shivanandgowdakr 0:19ca061f5bcf 349
shivanandgowdakr 0:19ca061f5bcf 350 void EPSON::defaultLineSpaceing()
shivanandgowdakr 0:19ca061f5bcf 351 {
shivanandgowdakr 0:19ca061f5bcf 352 _serial.printf("\x1B\x33\x04");
shivanandgowdakr 0:19ca061f5bcf 353 }
shivanandgowdakr 0:19ca061f5bcf 354
shivanandgowdakr 0:19ca061f5bcf 355 void EPSON::setPrintDirection(uint32_t direction)
shivanandgowdakr 0:19ca061f5bcf 356 {
shivanandgowdakr 0:19ca061f5bcf 357 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 358 _serial.putc(0x49);
shivanandgowdakr 0:19ca061f5bcf 359 _serial.putc(direction);
shivanandgowdakr 0:19ca061f5bcf 360 }
shivanandgowdakr 0:19ca061f5bcf 361
shivanandgowdakr 0:19ca061f5bcf 362 void EPSON::putPaperFeed(uint32_t space)
shivanandgowdakr 0:19ca061f5bcf 363 {
shivanandgowdakr 0:19ca061f5bcf 364 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 365 _serial.putc(0x4A);
shivanandgowdakr 0:19ca061f5bcf 366 _serial.putc(space);
shivanandgowdakr 0:19ca061f5bcf 367 }
shivanandgowdakr 0:19ca061f5bcf 368
shivanandgowdakr 0:19ca061f5bcf 369 void EPSON::setInterCharacterSpace(uint32_t space)
shivanandgowdakr 0:19ca061f5bcf 370 {
shivanandgowdakr 0:19ca061f5bcf 371 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 372 _serial.putc(0x20);
shivanandgowdakr 0:19ca061f5bcf 373 _serial.putc(space);
shivanandgowdakr 0:19ca061f5bcf 374 }
shivanandgowdakr 0:19ca061f5bcf 375
shivanandgowdakr 0:19ca061f5bcf 376 void EPSON::defaultInterCharacterSpace()
shivanandgowdakr 0:19ca061f5bcf 377 {
shivanandgowdakr 0:19ca061f5bcf 378 _serial.printf("\x1B\x20\x01");
shivanandgowdakr 0:19ca061f5bcf 379 }
shivanandgowdakr 0:19ca061f5bcf 380
shivanandgowdakr 0:19ca061f5bcf 381 void EPSON::putPrintPosition(uint32_t position)
shivanandgowdakr 0:19ca061f5bcf 382 {
shivanandgowdakr 0:19ca061f5bcf 383 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 384 _serial.putc(0x6c);
shivanandgowdakr 0:19ca061f5bcf 385 _serial.putc(position);
shivanandgowdakr 0:19ca061f5bcf 386 }
shivanandgowdakr 0:19ca061f5bcf 387
shivanandgowdakr 0:19ca061f5bcf 388 void EPSON::setScript(script_mode script)
shivanandgowdakr 0:19ca061f5bcf 389 {
shivanandgowdakr 0:19ca061f5bcf 390 _serial.putc(0x1B);
shivanandgowdakr 0:19ca061f5bcf 391 _serial.putc(0x73);
shivanandgowdakr 0:19ca061f5bcf 392 _serial.putc(script);
shivanandgowdakr 0:19ca061f5bcf 393 }
shivanandgowdakr 0:19ca061f5bcf 394
shivanandgowdakr 0:19ca061f5bcf 395
shivanandgowdakr 0:19ca061f5bcf 396
shivanandgowdakr 0:19ca061f5bcf 397 void EPSON::clearScript()
shivanandgowdakr 0:19ca061f5bcf 398 {
shivanandgowdakr 0:19ca061f5bcf 399 _serial.printf("\x1B\x73\x30");
shivanandgowdakr 0:19ca061f5bcf 400 }
shivanandgowdakr 0:19ca061f5bcf 401
shivanandgowdakr 0:19ca061f5bcf 402 void EPSON::setQuadrupleSize()
shivanandgowdakr 0:19ca061f5bcf 403 {
shivanandgowdakr 0:19ca061f5bcf 404 _serial.printf("\x1C\x57\x31");
shivanandgowdakr 0:19ca061f5bcf 405 }
shivanandgowdakr 0:19ca061f5bcf 406
shivanandgowdakr 0:19ca061f5bcf 407 void EPSON::clearQuadrupleSize()
shivanandgowdakr 0:19ca061f5bcf 408 {
shivanandgowdakr 0:19ca061f5bcf 409 _serial.printf("\x1C\x57\x30");
shivanandgowdakr 0:19ca061f5bcf 410 }
shivanandgowdakr 0:19ca061f5bcf 411
shivanandgowdakr 0:19ca061f5bcf 412 void EPSON::setEnlargement(uint32_t width, uint32_t height)
shivanandgowdakr 0:19ca061f5bcf 413 {
shivanandgowdakr 0:19ca061f5bcf 414 _serial.putc(0x1C);
shivanandgowdakr 0:19ca061f5bcf 415 _serial.putc(0x65);
shivanandgowdakr 0:19ca061f5bcf 416 _serial.putc(width);
shivanandgowdakr 0:19ca061f5bcf 417 _serial.putc(height);
shivanandgowdakr 0:19ca061f5bcf 418 }
shivanandgowdakr 0:19ca061f5bcf 419
shivanandgowdakr 0:19ca061f5bcf 420 void EPSON::clearEnlargement()
shivanandgowdakr 0:19ca061f5bcf 421 {
shivanandgowdakr 0:19ca061f5bcf 422 _serial.printf("\x1C\x65\x31\x31");
shivanandgowdakr 0:19ca061f5bcf 423 }
shivanandgowdakr 0:19ca061f5bcf 424
shivanandgowdakr 0:19ca061f5bcf 425 void EPSON::setBarCodeHeight(uint32_t height)
shivanandgowdakr 0:19ca061f5bcf 426 {
shivanandgowdakr 0:19ca061f5bcf 427 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 428 _serial.putc(0x68);
shivanandgowdakr 0:19ca061f5bcf 429 _serial.putc(height);
shivanandgowdakr 0:19ca061f5bcf 430 }
shivanandgowdakr 0:19ca061f5bcf 431
shivanandgowdakr 0:19ca061f5bcf 432 void EPSON::defaultBarCodeHeight()
shivanandgowdakr 0:19ca061f5bcf 433 {
shivanandgowdakr 0:19ca061f5bcf 434 _serial.printf("\x1D\x68\x50");
shivanandgowdakr 0:19ca061f5bcf 435 }
shivanandgowdakr 0:19ca061f5bcf 436
shivanandgowdakr 0:19ca061f5bcf 437
shivanandgowdakr 0:19ca061f5bcf 438
shivanandgowdakr 0:19ca061f5bcf 439 void EPSON::setBarCodeBarSize(uint32_t narrowbar, uint32_t widebar)
shivanandgowdakr 0:19ca061f5bcf 440 {
shivanandgowdakr 0:19ca061f5bcf 441 _serial.putc(0x1D);
shivanandgowdakr 0:19ca061f5bcf 442 _serial.putc(0x77);
shivanandgowdakr 0:19ca061f5bcf 443 _serial.putc(narrowbar);
shivanandgowdakr 0:19ca061f5bcf 444 _serial.putc(widebar);
shivanandgowdakr 0:19ca061f5bcf 445 }
shivanandgowdakr 0:19ca061f5bcf 446
shivanandgowdakr 0:19ca061f5bcf 447
shivanandgowdakr 0:19ca061f5bcf 448 void EPSON::defaultBarCodeBarSize()
shivanandgowdakr 0:19ca061f5bcf 449 {
shivanandgowdakr 0:19ca061f5bcf 450 _serial.printf("\x1D\x77\x02\x05");
shivanandgowdakr 0:19ca061f5bcf 451 }
shivanandgowdakr 0:19ca061f5bcf 452
shivanandgowdakr 0:19ca061f5bcf 453 int EPSON::_putc(int value)
shivanandgowdakr 0:19ca061f5bcf 454 {
shivanandgowdakr 0:19ca061f5bcf 455 _serial.putc(value);
shivanandgowdakr 0:19ca061f5bcf 456 return value;
shivanandgowdakr 0:19ca061f5bcf 457 }
shivanandgowdakr 0:19ca061f5bcf 458
shivanandgowdakr 0:19ca061f5bcf 459 int EPSON::_getc()
shivanandgowdakr 0:19ca061f5bcf 460 {
shivanandgowdakr 0:19ca061f5bcf 461 return -1;
shivanandgowdakr 0:19ca061f5bcf 462 }