AS-289R2 Thermal Printer shield control library

Dependents:   AS-289R2_Hello-World AS-289R2_Hello-World-mbed-OS hybrid_image_as289r2 microbit_AS-289R2 ... more

Committer:
MACRUM
Date:
Sat Mar 11 03:22:13 2017 +0000
Revision:
8:50020195de05
Parent:
7:f9b9162c7e9d
Child:
9:7f8acb87da7c
Correct file name in doxygen comment

Who changed what in which revision?

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