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 /**
shivanandgowdakr 0:19ca061f5bcf 2 ******************************************************************************
shivanandgowdakr 0:19ca061f5bcf 3 * @file EPSON.h
shivanandgowdakr 0:19ca061f5bcf 4 * @author Shivanand Gowda
shivanandgowdakr 0:19ca061f5bcf 5 * @version V1.0.0
shivanandgowdakr 0:19ca061f5bcf 6 * @date 21 May 2018
shivanandgowdakr 0:19ca061f5bcf 7 * @brief This file contains the class of a EPSON thermal control component
shivanandgowdakr 0:19ca061f5bcf 8 ******************************************************************************
shivanandgowdakr 0:19ca061f5bcf 9 * @attention
shivanandgowdakr 0:19ca061f5bcf 10 *
shivanandgowdakr 0:19ca061f5bcf 11 * Permission is hereby granted, free of charge, to any person obtaining a copy
shivanandgowdakr 0:19ca061f5bcf 12 * of this software and associated documentation files (the "Software"), to deal
shivanandgowdakr 0:19ca061f5bcf 13 * in the Software without restriction, including without limitation the rights
shivanandgowdakr 0:19ca061f5bcf 14 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
shivanandgowdakr 0:19ca061f5bcf 15 * copies of the Software, and to permit persons to whom the Software is
shivanandgowdakr 0:19ca061f5bcf 16 * furnished to do so, subject to the following conditions:
shivanandgowdakr 0:19ca061f5bcf 17 *
shivanandgowdakr 0:19ca061f5bcf 18 * The above copyright notice and this permission notice shall be included in
shivanandgowdakr 0:19ca061f5bcf 19 * all copies or substantial portions of the Software.
shivanandgowdakr 0:19ca061f5bcf 20 *
shivanandgowdakr 0:19ca061f5bcf 21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
shivanandgowdakr 0:19ca061f5bcf 22 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
shivanandgowdakr 0:19ca061f5bcf 23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
shivanandgowdakr 0:19ca061f5bcf 24 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
shivanandgowdakr 0:19ca061f5bcf 25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
shivanandgowdakr 0:19ca061f5bcf 26 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
shivanandgowdakr 0:19ca061f5bcf 27 * THE SOFTWARE.
shivanandgowdakr 0:19ca061f5bcf 28 */
shivanandgowdakr 0:19ca061f5bcf 29
shivanandgowdakr 0:19ca061f5bcf 30 #ifndef MBED_EPSON_H
shivanandgowdakr 0:19ca061f5bcf 31 #define MBED_EPSON_H
shivanandgowdakr 0:19ca061f5bcf 32
shivanandgowdakr 0:19ca061f5bcf 33 #include "mbed.h"
shivanandgowdakr 0:19ca061f5bcf 34
shivanandgowdakr 0:19ca061f5bcf 35 #if defined(__CC_ARM)
shivanandgowdakr 0:19ca061f5bcf 36 // To avoid "invalid multibyte character sequence" warning
shivanandgowdakr 0:19ca061f5bcf 37 #pragma diag_suppress 870
shivanandgowdakr 0:19ca061f5bcf 38 #endif
shivanandgowdakr 0:19ca061f5bcf 39
shivanandgowdakr 0:19ca061f5bcf 40
shivanandgowdakr 0:19ca061f5bcf 41 class EPSON : public Stream
shivanandgowdakr 0:19ca061f5bcf 42 {
shivanandgowdakr 0:19ca061f5bcf 43 public:
shivanandgowdakr 0:19ca061f5bcf 44
shivanandgowdakr 0:19ca061f5bcf 45 /**
shivanandgowdakr 0:19ca061f5bcf 46 * @enum Kanji_font_size
shivanandgowdakr 0:19ca061f5bcf 47 * Value of Japanese Kanji font size
shivanandgowdakr 0:19ca061f5bcf 48 */
shivanandgowdakr 0:19ca061f5bcf 49 enum Kanji_font_size {
shivanandgowdakr 0:19ca061f5bcf 50 //! 24x24 dot font
shivanandgowdakr 0:19ca061f5bcf 51 KANJI_24x24 = 0x30,
shivanandgowdakr 0:19ca061f5bcf 52 //! 16x16 dot font
shivanandgowdakr 0:19ca061f5bcf 53 KANJI_16x16,
shivanandgowdakr 0:19ca061f5bcf 54 //! Defalut font size
shivanandgowdakr 0:19ca061f5bcf 55 KANJI_DEFAULT = KANJI_24x24
shivanandgowdakr 0:19ca061f5bcf 56 };
shivanandgowdakr 0:19ca061f5bcf 57
shivanandgowdakr 0:19ca061f5bcf 58 /**
shivanandgowdakr 0:19ca061f5bcf 59 * @enum ANK_font_size
shivanandgowdakr 0:19ca061f5bcf 60 * Value of ANK font size
shivanandgowdakr 0:19ca061f5bcf 61 */
shivanandgowdakr 0:19ca061f5bcf 62 enum ANK_font_size {
shivanandgowdakr 0:19ca061f5bcf 63 //! 8x16 dot font
shivanandgowdakr 0:19ca061f5bcf 64 ANK_8x16 = 0x30,
shivanandgowdakr 0:19ca061f5bcf 65 //! 12x24 dot font
shivanandgowdakr 0:19ca061f5bcf 66 ANK_12x24,
shivanandgowdakr 0:19ca061f5bcf 67 //! 16x16 dot font
shivanandgowdakr 0:19ca061f5bcf 68 ANK_16x16,
shivanandgowdakr 0:19ca061f5bcf 69 //! 24x24 dot fot
shivanandgowdakr 0:19ca061f5bcf 70 ANK_24x24,
shivanandgowdakr 0:19ca061f5bcf 71 //! Defalut font size
shivanandgowdakr 0:19ca061f5bcf 72 ANK_DEFAULT = ANK_12x24
shivanandgowdakr 0:19ca061f5bcf 73 };
shivanandgowdakr 0:19ca061f5bcf 74
shivanandgowdakr 0:19ca061f5bcf 75 /**
shivanandgowdakr 0:19ca061f5bcf 76 * @enum QRcode_error_level
shivanandgowdakr 0:19ca061f5bcf 77 * Value of CQ code error correction level
shivanandgowdakr 0:19ca061f5bcf 78 */
shivanandgowdakr 0:19ca061f5bcf 79 enum QRcode_error_level {
shivanandgowdakr 0:19ca061f5bcf 80 //! Error correction level L (7%)
shivanandgowdakr 0:19ca061f5bcf 81 QR_ERR_LVL_L = 0x4C,
shivanandgowdakr 0:19ca061f5bcf 82 //! Error correction level M (15%)
shivanandgowdakr 0:19ca061f5bcf 83 QR_ERR_LVL_M = 0x4D,
shivanandgowdakr 0:19ca061f5bcf 84 //! Error correction level Q (25%)
shivanandgowdakr 0:19ca061f5bcf 85 QR_ERR_LVL_Q = 0x51,
shivanandgowdakr 0:19ca061f5bcf 86 //! Error correction level H (30%)
shivanandgowdakr 0:19ca061f5bcf 87 QR_ERR_LVL_H = 0x48
shivanandgowdakr 0:19ca061f5bcf 88 };
shivanandgowdakr 0:19ca061f5bcf 89
shivanandgowdakr 0:19ca061f5bcf 90 /**
shivanandgowdakr 0:19ca061f5bcf 91 * @enum barcode_mode
shivanandgowdakr 0:19ca061f5bcf 92 * Value of barcode mode
shivanandgowdakr 0:19ca061f5bcf 93 */
shivanandgowdakr 0:19ca061f5bcf 94 enum barcode_mode {
shivanandgowdakr 0:19ca061f5bcf 95 //! UPC-A : 11-digit, d1-d11, C/D
shivanandgowdakr 0:19ca061f5bcf 96 BCODE_UPC_A = 0x30,
shivanandgowdakr 0:19ca061f5bcf 97 //! JAN13 : 12-digit, d1-d12, C/D
shivanandgowdakr 0:19ca061f5bcf 98 BCODE_JAN13 = 0x32,
shivanandgowdakr 0:19ca061f5bcf 99 //! JAN8 : 7-digit, d1-d7, C/D
shivanandgowdakr 0:19ca061f5bcf 100 BCODE_JAN8,
shivanandgowdakr 0:19ca061f5bcf 101 //! CODE39 : variable, d1-d20, C/D
shivanandgowdakr 0:19ca061f5bcf 102 BCODE_CODE39,
shivanandgowdakr 0:19ca061f5bcf 103 //! ITF : variable, d1-d20
shivanandgowdakr 0:19ca061f5bcf 104 BCODE_ITF,
shivanandgowdakr 0:19ca061f5bcf 105 //! CODABAR (NW7) : variable, d1-d20
shivanandgowdakr 0:19ca061f5bcf 106 BCODE_CODABAR
shivanandgowdakr 0:19ca061f5bcf 107 };
shivanandgowdakr 0:19ca061f5bcf 108
shivanandgowdakr 0:19ca061f5bcf 109 /**
shivanandgowdakr 0:19ca061f5bcf 110 * @enum script_mode
shivanandgowdakr 0:19ca061f5bcf 111 * Value of script mode
shivanandgowdakr 0:19ca061f5bcf 112 */
shivanandgowdakr 0:19ca061f5bcf 113 enum script_mode {
shivanandgowdakr 0:19ca061f5bcf 114 //! Cancel script mode
shivanandgowdakr 0:19ca061f5bcf 115 SCRIPT_CANCEL = 0,
shivanandgowdakr 0:19ca061f5bcf 116 //! Super script
shivanandgowdakr 0:19ca061f5bcf 117 SCRIPT_SUPER,
shivanandgowdakr 0:19ca061f5bcf 118 //! Sub script
shivanandgowdakr 0:19ca061f5bcf 119 SCRIPT_SUB
shivanandgowdakr 0:19ca061f5bcf 120 };
shivanandgowdakr 0:19ca061f5bcf 121
shivanandgowdakr 0:19ca061f5bcf 122 /** Create a EPSON instance
shivanandgowdakr 0:19ca061f5bcf 123 * which is connected to specified Serial pin with specified baud rate
shivanandgowdakr 0:19ca061f5bcf 124 *
shivanandgowdakr 0:19ca061f5bcf 125 * @param tx Serial TX pin
shivanandgowdakr 0:19ca061f5bcf 126 * @param baud (option) serial baud rate (default: 9600bps)
shivanandgowdakr 0:19ca061f5bcf 127 */
shivanandgowdakr 0:19ca061f5bcf 128 EPSON(PinName tx,PinName rx, uint32_t baud = 9600);
shivanandgowdakr 0:19ca061f5bcf 129
shivanandgowdakr 0:19ca061f5bcf 130 /** Create a EPSON instance
shivanandgowdakr 0:19ca061f5bcf 131 * which is connected to specified Serial instance with specified baud rate
shivanandgowdakr 0:19ca061f5bcf 132 *
shivanandgowdakr 0:19ca061f5bcf 133 * @param serial_obj Serial object (instance)
shivanandgowdakr 0:19ca061f5bcf 134 * @param baud (option) serial baud rate (default: 9600bps)
shivanandgowdakr 0:19ca061f5bcf 135 */
shivanandgowdakr 0:19ca061f5bcf 136 EPSON(Serial &serial_obj, uint32_t baud = 9600);
shivanandgowdakr 0:19ca061f5bcf 137
shivanandgowdakr 0:19ca061f5bcf 138 /** Destructor of EPSON
shivanandgowdakr 0:19ca061f5bcf 139 */
shivanandgowdakr 0:19ca061f5bcf 140 virtual ~EPSON();
shivanandgowdakr 0:19ca061f5bcf 141
shivanandgowdakr 0:19ca061f5bcf 142 /** Initializa EPSON
shivanandgowdakr 0:19ca061f5bcf 143 *
shivanandgowdakr 0:19ca061f5bcf 144 * Issues initialize command for AS-289R2
shivanandgowdakr 0:19ca061f5bcf 145 *
shivanandgowdakr 0:19ca061f5bcf 146 */
shivanandgowdakr 0:19ca061f5bcf 147 void initialize(void);
shivanandgowdakr 0:19ca061f5bcf 148
shivanandgowdakr 0:19ca061f5bcf 149 /** Send line feed code
shivanandgowdakr 0:19ca061f5bcf 150 * which is connected to specified Serial pin with specified baud rate
shivanandgowdakr 0:19ca061f5bcf 151 *
shivanandgowdakr 0:19ca061f5bcf 152 * @param lines Number of line feed
shivanandgowdakr 0:19ca061f5bcf 153 */
shivanandgowdakr 0:19ca061f5bcf 154 void printTest(void);
shivanandgowdakr 0:19ca061f5bcf 155 void printnputLineFeed(uint8_t lines);
shivanandgowdakr 0:19ca061f5bcf 156 void lineFeed(void);
shivanandgowdakr 0:19ca061f5bcf 157 void putHorizontaltab(void);
shivanandgowdakr 0:19ca061f5bcf 158
shivanandgowdakr 0:19ca061f5bcf 159 void setdefaultLinespacing(void);
shivanandgowdakr 0:19ca061f5bcf 160 void setLinespacing(uint8_t lines);
shivanandgowdakr 0:19ca061f5bcf 161 void setleftMargin(uint8_t n1, uint8_t n2);
shivanandgowdakr 0:19ca061f5bcf 162 void absoluteprintPosition(uint8_t n1, uint8_t n2);
shivanandgowdakr 0:19ca061f5bcf 163 void whiteblack(uint8_t n1);
shivanandgowdakr 0:19ca061f5bcf 164 void papersensorstatus(void);
shivanandgowdakr 0:19ca061f5bcf 165 void carriageReturn(void);
shivanandgowdakr 0:19ca061f5bcf 166
shivanandgowdakr 0:19ca061f5bcf 167
shivanandgowdakr 0:19ca061f5bcf 168
shivanandgowdakr 0:19ca061f5bcf 169
shivanandgowdakr 0:19ca061f5bcf 170 void printCenter(void);
shivanandgowdakr 0:19ca061f5bcf 171 void printLeft(void);
shivanandgowdakr 0:19ca061f5bcf 172 void printRight(void);
shivanandgowdakr 0:19ca061f5bcf 173
shivanandgowdakr 0:19ca061f5bcf 174 void font_ZeroOne(void);
shivanandgowdakr 0:19ca061f5bcf 175 void font_Zero(void);
shivanandgowdakr 0:19ca061f5bcf 176 void font_OneZero(void);
shivanandgowdakr 0:19ca061f5bcf 177 int PrintBarCode(char *data ,int ilen);
shivanandgowdakr 0:19ca061f5bcf 178
shivanandgowdakr 0:19ca061f5bcf 179
shivanandgowdakr 0:19ca061f5bcf 180 void printModes(uint8_t n);
shivanandgowdakr 0:19ca061f5bcf 181
shivanandgowdakr 0:19ca061f5bcf 182
shivanandgowdakr 0:19ca061f5bcf 183
shivanandgowdakr 0:19ca061f5bcf 184
shivanandgowdakr 0:19ca061f5bcf 185 /** pur Horizontal Tab
shivanandgowdakr 0:19ca061f5bcf 186 *
shivanandgowdakr 0:19ca061f5bcf 187 */
shivanandgowdakr 0:19ca061f5bcf 188
shivanandgowdakr 0:19ca061f5bcf 189 void putLineFeed(uint8_t lines);
shivanandgowdakr 0:19ca061f5bcf 190
shivanandgowdakr 0:19ca061f5bcf 191 /** Clear image buffer of the AS-289R2
shivanandgowdakr 0:19ca061f5bcf 192 *
shivanandgowdakr 0:19ca061f5bcf 193 */
shivanandgowdakr 0:19ca061f5bcf 194 void clearBuffer(void);
shivanandgowdakr 0:19ca061f5bcf 195
shivanandgowdakr 0:19ca061f5bcf 196 /** Set double height size font
shivanandgowdakr 0:19ca061f5bcf 197 *
shivanandgowdakr 0:19ca061f5bcf 198 */
shivanandgowdakr 0:19ca061f5bcf 199 void setDoubleSizeHeight(void);
shivanandgowdakr 0:19ca061f5bcf 200
shivanandgowdakr 0:19ca061f5bcf 201 /** Set normal height size font
shivanandgowdakr 0:19ca061f5bcf 202 *
shivanandgowdakr 0:19ca061f5bcf 203 */
shivanandgowdakr 0:19ca061f5bcf 204 void clearDoubleSizeHeight(void);
shivanandgowdakr 0:19ca061f5bcf 205
shivanandgowdakr 0:19ca061f5bcf 206 /** Set double width size font
shivanandgowdakr 0:19ca061f5bcf 207 *
shivanandgowdakr 0:19ca061f5bcf 208 */
shivanandgowdakr 0:19ca061f5bcf 209 void setDoubleSizeWidth(void);
shivanandgowdakr 0:19ca061f5bcf 210
shivanandgowdakr 0:19ca061f5bcf 211 /** Set normal width size font
shivanandgowdakr 0:19ca061f5bcf 212 *
shivanandgowdakr 0:19ca061f5bcf 213 */
shivanandgowdakr 0:19ca061f5bcf 214 void clearDoubleSizeWidth(void);
shivanandgowdakr 0:19ca061f5bcf 215
shivanandgowdakr 0:19ca061f5bcf 216 /** Set large size font (48x96)
shivanandgowdakr 0:19ca061f5bcf 217 *
shivanandgowdakr 0:19ca061f5bcf 218 */
shivanandgowdakr 0:19ca061f5bcf 219 void setLargeFont(void);
shivanandgowdakr 0:19ca061f5bcf 220
shivanandgowdakr 0:19ca061f5bcf 221 /** Set normal size font
shivanandgowdakr 0:19ca061f5bcf 222 *
shivanandgowdakr 0:19ca061f5bcf 223 */
shivanandgowdakr 0:19ca061f5bcf 224 void clearLargeFont(void);
shivanandgowdakr 0:19ca061f5bcf 225
shivanandgowdakr 0:19ca061f5bcf 226 /** Set ANK font
shivanandgowdakr 0:19ca061f5bcf 227 *
shivanandgowdakr 0:19ca061f5bcf 228 * @param font ANK font e.g. EPSON::ANK_8x16
shivanandgowdakr 0:19ca061f5bcf 229 */
shivanandgowdakr 0:19ca061f5bcf 230 void setANKFont(uint32_t font);
shivanandgowdakr 0:19ca061f5bcf 231
shivanandgowdakr 0:19ca061f5bcf 232 /** Set Kanji font size
shivanandgowdakr 0:19ca061f5bcf 233 *
shivanandgowdakr 0:19ca061f5bcf 234 * @param font Kanji font e.g. EPSON::KANJI_16x16
shivanandgowdakr 0:19ca061f5bcf 235 */
shivanandgowdakr 0:19ca061f5bcf 236 void setKanjiFont(uint32_t font);
shivanandgowdakr 0:19ca061f5bcf 237
shivanandgowdakr 0:19ca061f5bcf 238 /** Print QR code
shivanandgowdakr 0:19ca061f5bcf 239 *
shivanandgowdakr 0:19ca061f5bcf 240 * @param err QR code error correction level e.g. EPSON::QR_ERR_LVL_M
shivanandgowdakr 0:19ca061f5bcf 241 * @param buf Data to be printed
shivanandgowdakr 0:19ca061f5bcf 242 */
shivanandgowdakr 0:19ca061f5bcf 243 void printQRCode(uint32_t err, const char* buf);
shivanandgowdakr 0:19ca061f5bcf 244
shivanandgowdakr 0:19ca061f5bcf 245 /** Print Bar code
shivanandgowdakr 0:19ca061f5bcf 246 *
shivanandgowdakr 0:19ca061f5bcf 247 * @param code Type of Bar code e.g. EPSON::JAN13
shivanandgowdakr 0:19ca061f5bcf 248 * @param buf Data to be printed
shivanandgowdakr 0:19ca061f5bcf 249 */
shivanandgowdakr 0:19ca061f5bcf 250 void printBarCode(uint32_t code, const char* param);
shivanandgowdakr 0:19ca061f5bcf 251
shivanandgowdakr 0:19ca061f5bcf 252 /** Print bitmap image
shivanandgowdakr 0:19ca061f5bcf 253 *
shivanandgowdakr 0:19ca061f5bcf 254 * @param cmd Type of operation mode, 0x61: print image buffer, 0x62: register image buffer, 0x63: register -> print, 0x64: print -> register, 0x65: line print
shivanandgowdakr 0:19ca061f5bcf 255 * @param lines Number of print line
shivanandgowdakr 0:19ca061f5bcf 256 * @param image Data to be printed
shivanandgowdakr 0:19ca061f5bcf 257 */
shivanandgowdakr 0:19ca061f5bcf 258 void printBitmapImage(uint32_t cmd, uint16_t lines, const uint8_t * image);
shivanandgowdakr 0:19ca061f5bcf 259
shivanandgowdakr 0:19ca061f5bcf 260 /** Set Line Spaceing
shivanandgowdakr 0:19ca061f5bcf 261 *
shivanandgowdakr 0:19ca061f5bcf 262 * @param space line spacing
shivanandgowdakr 0:19ca061f5bcf 263 */
shivanandgowdakr 0:19ca061f5bcf 264 void setLineSpaceing(uint32_t space);
shivanandgowdakr 0:19ca061f5bcf 265
shivanandgowdakr 0:19ca061f5bcf 266 /** Set as default Line Spaceing
shivanandgowdakr 0:19ca061f5bcf 267 *
shivanandgowdakr 0:19ca061f5bcf 268 */
shivanandgowdakr 0:19ca061f5bcf 269 void defaultLineSpaceing(void);
shivanandgowdakr 0:19ca061f5bcf 270
shivanandgowdakr 0:19ca061f5bcf 271 /** Set Print Direction
shivanandgowdakr 0:19ca061f5bcf 272 *
shivanandgowdakr 0:19ca061f5bcf 273 * @param direction Print direction, 0: lister, 1: texter
shivanandgowdakr 0:19ca061f5bcf 274 */
shivanandgowdakr 0:19ca061f5bcf 275 void setPrintDirection(uint32_t direction);
shivanandgowdakr 0:19ca061f5bcf 276
shivanandgowdakr 0:19ca061f5bcf 277 /** Send feed code
shivanandgowdakr 0:19ca061f5bcf 278 *
shivanandgowdakr 0:19ca061f5bcf 279 * @param space Paper feed
shivanandgowdakr 0:19ca061f5bcf 280 */
shivanandgowdakr 0:19ca061f5bcf 281 void putPaperFeed(uint32_t space);
shivanandgowdakr 0:19ca061f5bcf 282
shivanandgowdakr 0:19ca061f5bcf 283 /** Set Inter Character Space
shivanandgowdakr 0:19ca061f5bcf 284 *
shivanandgowdakr 0:19ca061f5bcf 285 * @param space inter-character space
shivanandgowdakr 0:19ca061f5bcf 286 */
shivanandgowdakr 0:19ca061f5bcf 287 void setInterCharacterSpace(uint32_t space);
shivanandgowdakr 0:19ca061f5bcf 288
shivanandgowdakr 0:19ca061f5bcf 289 /** Set as default Inter Character Space
shivanandgowdakr 0:19ca061f5bcf 290 *
shivanandgowdakr 0:19ca061f5bcf 291 */
shivanandgowdakr 0:19ca061f5bcf 292 void defaultInterCharacterSpace(void);
shivanandgowdakr 0:19ca061f5bcf 293
shivanandgowdakr 0:19ca061f5bcf 294 /** Send Print Position
shivanandgowdakr 0:19ca061f5bcf 295 *
shivanandgowdakr 0:19ca061f5bcf 296 * @param position Print position
shivanandgowdakr 0:19ca061f5bcf 297 */
shivanandgowdakr 0:19ca061f5bcf 298 void putPrintPosition(uint32_t position);
shivanandgowdakr 0:19ca061f5bcf 299
shivanandgowdakr 0:19ca061f5bcf 300 /** Set Script
shivanandgowdakr 0:19ca061f5bcf 301 *
shivanandgowdakr 0:19ca061f5bcf 302 * @param script mode e.g. EPSON::SCRIPT_SUPER
shivanandgowdakr 0:19ca061f5bcf 303 */
shivanandgowdakr 0:19ca061f5bcf 304 void setScript(script_mode script);
shivanandgowdakr 0:19ca061f5bcf 305
shivanandgowdakr 0:19ca061f5bcf 306 /** Clear Script
shivanandgowdakr 0:19ca061f5bcf 307 *
shivanandgowdakr 0:19ca061f5bcf 308 */
shivanandgowdakr 0:19ca061f5bcf 309 void clearScript(void);
shivanandgowdakr 0:19ca061f5bcf 310
shivanandgowdakr 0:19ca061f5bcf 311 /** Set Quadruple size
shivanandgowdakr 0:19ca061f5bcf 312 *
shivanandgowdakr 0:19ca061f5bcf 313 */
shivanandgowdakr 0:19ca061f5bcf 314 void setQuadrupleSize(void);
shivanandgowdakr 0:19ca061f5bcf 315
shivanandgowdakr 0:19ca061f5bcf 316 /** Clear Quadruple size
shivanandgowdakr 0:19ca061f5bcf 317 *
shivanandgowdakr 0:19ca061f5bcf 318 */
shivanandgowdakr 0:19ca061f5bcf 319 void clearQuadrupleSize(void);
shivanandgowdakr 0:19ca061f5bcf 320
shivanandgowdakr 0:19ca061f5bcf 321 /** Set Enlargement size
shivanandgowdakr 0:19ca061f5bcf 322 *
shivanandgowdakr 0:19ca061f5bcf 323 * @param width enlargement
shivanandgowdakr 0:19ca061f5bcf 324 * @param height enlargement
shivanandgowdakr 0:19ca061f5bcf 325 */
shivanandgowdakr 0:19ca061f5bcf 326 void setEnlargement(uint32_t width, uint32_t height);
shivanandgowdakr 0:19ca061f5bcf 327
shivanandgowdakr 0:19ca061f5bcf 328 /** Clear Enlargement size
shivanandgowdakr 0:19ca061f5bcf 329 *
shivanandgowdakr 0:19ca061f5bcf 330 */
shivanandgowdakr 0:19ca061f5bcf 331 void clearEnlargement(void);
shivanandgowdakr 0:19ca061f5bcf 332
shivanandgowdakr 0:19ca061f5bcf 333 /** Set BarCode Height size
shivanandgowdakr 0:19ca061f5bcf 334 *
shivanandgowdakr 0:19ca061f5bcf 335 * @param height Bar height
shivanandgowdakr 0:19ca061f5bcf 336 */
shivanandgowdakr 0:19ca061f5bcf 337 void setBarCodeHeight(uint32_t height);
shivanandgowdakr 0:19ca061f5bcf 338
shivanandgowdakr 0:19ca061f5bcf 339 /** Set as default BarCode Height size
shivanandgowdakr 0:19ca061f5bcf 340 *
shivanandgowdakr 0:19ca061f5bcf 341 */
shivanandgowdakr 0:19ca061f5bcf 342 void defaultBarCodeHeight(void);
shivanandgowdakr 0:19ca061f5bcf 343
shivanandgowdakr 0:19ca061f5bcf 344 /** Set BarCode Bar size
shivanandgowdakr 0:19ca061f5bcf 345 *
shivanandgowdakr 0:19ca061f5bcf 346 * @param narrowbar narrow bars size
shivanandgowdakr 0:19ca061f5bcf 347 * @param widebar wide bars size
shivanandgowdakr 0:19ca061f5bcf 348 */
shivanandgowdakr 0:19ca061f5bcf 349 void setBarCodeBarSize(uint32_t narrowbar, uint32_t widebar);
shivanandgowdakr 0:19ca061f5bcf 350
shivanandgowdakr 0:19ca061f5bcf 351 /** Set as default BarCode Bar size
shivanandgowdakr 0:19ca061f5bcf 352 *
shivanandgowdakr 0:19ca061f5bcf 353 */
shivanandgowdakr 0:19ca061f5bcf 354 void defaultBarCodeBarSize(void);
shivanandgowdakr 0:19ca061f5bcf 355
shivanandgowdakr 0:19ca061f5bcf 356 private:
shivanandgowdakr 0:19ca061f5bcf 357 Serial *_serial_p;
shivanandgowdakr 0:19ca061f5bcf 358 Serial &_serial;
shivanandgowdakr 0:19ca061f5bcf 359
shivanandgowdakr 0:19ca061f5bcf 360 protected:
shivanandgowdakr 0:19ca061f5bcf 361 // Stream implementation functions
shivanandgowdakr 0:19ca061f5bcf 362 virtual int _putc(int value);
shivanandgowdakr 0:19ca061f5bcf 363 virtual int _getc();
shivanandgowdakr 0:19ca061f5bcf 364 };
shivanandgowdakr 0:19ca061f5bcf 365
shivanandgowdakr 0:19ca061f5bcf 366 #endif
shivanandgowdakr 0:19ca061f5bcf 367
shivanandgowdakr 0:19ca061f5bcf 368