EPSON Thermal Printer RS232 Interface Model --TM-T82II
EPSON.cpp@0:19ca061f5bcf, 2018-07-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |