Thermal Printer Basic Print Operations

Dependents:   Thermal_Printer

Committer:
shivanandgowdakr
Date:
Mon May 21 07:27:19 2018 +0000
Revision:
0:ddb341bbd487
Child:
1:8372894bfc19
Thermal Printer APSEPM207LV Basic Print Operations ;

Who changed what in which revision?

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