AS-289R2 library test code for mbed OS 5

Dependencies:   AS289R2

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Committer:
MACRUM
Date:
Mon Jan 20 18:53:41 2020 +0900
Revision:
28:e0eb1c087c41
Parent:
27:9547c5d41dde
Child:
29:c0d23edea193
Remove unused files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 24:d961f2e3f167 1 /* AS289R2 library test program for mbed OS
MACRUM 27:9547c5d41dde 2 * Copyright (c) 2016-2020, Toyomasa Watarai
MACRUM 24:d961f2e3f167 3 *
MACRUM 24:d961f2e3f167 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
MACRUM 24:d961f2e3f167 5 * of this software and associated documentation files (the "Software"), to deal
MACRUM 24:d961f2e3f167 6 * in the Software without restriction, including without limitation the rights
MACRUM 24:d961f2e3f167 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
MACRUM 24:d961f2e3f167 8 * copies of the Software, and to permit persons to whom the Software is
MACRUM 24:d961f2e3f167 9 * furnished to do so, subject to the following conditions:
MACRUM 24:d961f2e3f167 10 *
MACRUM 24:d961f2e3f167 11 * The above copyright notice and this permission notice shall be included in
MACRUM 24:d961f2e3f167 12 * all copies or substantial portions of the Software.
MACRUM 24:d961f2e3f167 13 *
MACRUM 24:d961f2e3f167 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
MACRUM 24:d961f2e3f167 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
MACRUM 24:d961f2e3f167 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
MACRUM 24:d961f2e3f167 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
MACRUM 24:d961f2e3f167 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
MACRUM 24:d961f2e3f167 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
MACRUM 24:d961f2e3f167 20 * THE SOFTWARE.
MACRUM 24:d961f2e3f167 21 */
MACRUM 24:d961f2e3f167 22
Jonathan Austin 0:2757d7abb7d9 23 #include "mbed.h"
MACRUM 24:d961f2e3f167 24 #include "AS289R2.h"
Jonathan Austin 0:2757d7abb7d9 25
Jonathan Austin 0:2757d7abb7d9 26 DigitalOut led1(LED1);
MACRUM 27:9547c5d41dde 27 AS289R2 tp(AS289R2_TX, AS289R2_RX);
MACRUM 25:9fe4286c3515 28
MACRUM 27:9547c5d41dde 29 const char url[] = "https://os.mbed.com/components/AS-289R2-Thermal-Printer-Shield/";
MACRUM 25:9fe4286c3515 30
MACRUM 24:d961f2e3f167 31 void AS289R2_demo()
MACRUM 24:d961f2e3f167 32 {
MACRUM 24:d961f2e3f167 33 tp.initialize();
MACRUM 24:d961f2e3f167 34 tp.putLineFeed(2);
MACRUM 25:9fe4286c3515 35
MACRUM 24:d961f2e3f167 36 tp.printf("** Thermal Printer Shield **\r\r");
MACRUM 25:9fe4286c3515 37
MACRUM 24:d961f2e3f167 38 tp.setDoubleSizeWidth();
MACRUM 24:d961f2e3f167 39 tp.printf(" AS-289R2\r\r");
MACRUM 24:d961f2e3f167 40 tp.clearDoubleSizeWidth();
MACRUM 25:9fe4286c3515 41
MACRUM 24:d961f2e3f167 42 tp.printf("日本語文字列の印字テスト:24x24\r");
MACRUM 24:d961f2e3f167 43 tp.setKanjiFont(AS289R2::KANJI_16x16);
MACRUM 24:d961f2e3f167 44 tp.setANKFont(AS289R2::ANK_8x16);
MACRUM 24:d961f2e3f167 45 tp.printf("日本語文字列の印字テスト:16x16\r\r");
MACRUM 25:9fe4286c3515 46
MACRUM 24:d961f2e3f167 47 tp.setKanjiFont(AS289R2::KANJI_DEFAULT);
MACRUM 24:d961f2e3f167 48 tp.setANKFont(AS289R2::ANK_DEFAULT);
MACRUM 24:d961f2e3f167 49 tp.setDoubleSizeWidth();
MACRUM 24:d961f2e3f167 50 tp.printf("ABCDEFG 0123456789\r");
MACRUM 24:d961f2e3f167 51 tp.clearDoubleSizeWidth();
MACRUM 25:9fe4286c3515 52
MACRUM 24:d961f2e3f167 53 tp.setDoubleSizeHeight();
MACRUM 24:d961f2e3f167 54 tp.printf("ABCDEFG 0123456789\r");
MACRUM 24:d961f2e3f167 55 tp.clearDoubleSizeHeight();
MACRUM 25:9fe4286c3515 56
MACRUM 24:d961f2e3f167 57 tp.putLineFeed(2);
MACRUM 25:9fe4286c3515 58
MACRUM 24:d961f2e3f167 59 tp.setANKFont(AS289R2::ANK_8x16);
MACRUM 24:d961f2e3f167 60 tp.printf("8x16: Test 012345 アイウエオ\r\r");
MACRUM 24:d961f2e3f167 61 tp.setANKFont(AS289R2::ANK_12x24);
MACRUM 24:d961f2e3f167 62 tp.printf("12x24: Test 012345 アイウエオ\r\r");
MACRUM 24:d961f2e3f167 63 tp.setANKFont(AS289R2::ANK_16x16);
MACRUM 24:d961f2e3f167 64 tp.printf("16x16: Test 012345 アイウエオ\r\r");
MACRUM 24:d961f2e3f167 65 tp.setANKFont(AS289R2::ANK_24x24);
MACRUM 24:d961f2e3f167 66 tp.printf("24x24: Test 012345 アイウエオ\r\r");
MACRUM 24:d961f2e3f167 67 tp.putLineFeed(1);
MACRUM 25:9fe4286c3515 68
MACRUM 24:d961f2e3f167 69 tp.setANKFont(AS289R2::ANK_8x16);
MACRUM 24:d961f2e3f167 70 tp.printf("QR\r");
MACRUM 24:d961f2e3f167 71 tp.printQRCode(AS289R2::QR_ERR_LVL_M, url);
MACRUM 24:d961f2e3f167 72 tp.printf("\r%s\r", url);
MACRUM 24:d961f2e3f167 73 tp.putLineFeed(2);
MACRUM 25:9fe4286c3515 74
MACRUM 24:d961f2e3f167 75 tp.printf("UPC-A\r");
MACRUM 24:d961f2e3f167 76 tp.printBarCode(AS289R2::BCODE_UPC_A, "01234567890");
MACRUM 24:d961f2e3f167 77 tp.putLineFeed(4);
MACRUM 25:9fe4286c3515 78
MACRUM 27:9547c5d41dde 79 #if 0
MACRUM 25:9fe4286c3515 80 // LineSpaceing
MACRUM 25:9fe4286c3515 81 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 82 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 83 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 84 tp.setLineSpaceing(20);
MACRUM 25:9fe4286c3515 85 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 86 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 87 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 88 tp.defaultLineSpaceing();
MACRUM 25:9fe4286c3515 89 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 90 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 91 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 92 tp.putLineFeed(4);
MACRUM 25:9fe4286c3515 93
MACRUM 25:9fe4286c3515 94 // PrintDirection
MACRUM 25:9fe4286c3515 95 tp.setPrintDirection(1);
MACRUM 25:9fe4286c3515 96 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 97 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 98 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 99 tp.setPrintDirection(0);
MACRUM 25:9fe4286c3515 100 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 101 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 102 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 103
MACRUM 25:9fe4286c3515 104 // PaperFeed
MACRUM 25:9fe4286c3515 105 tp.putPaperFeed(200);
MACRUM 25:9fe4286c3515 106
MACRUM 25:9fe4286c3515 107 // InterCharacterSpace
MACRUM 25:9fe4286c3515 108 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 109 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 110 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 111 tp.setInterCharacterSpace(8);
MACRUM 25:9fe4286c3515 112 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 113 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 114 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 115 tp.defaultInterCharacterSpace();
MACRUM 25:9fe4286c3515 116 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 117 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 118 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 119 tp.putLineFeed(4);
MACRUM 25:9fe4286c3515 120
MACRUM 25:9fe4286c3515 121 // PrintPosition
MACRUM 25:9fe4286c3515 122 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 123 tp.putPrintPosition(5);
MACRUM 25:9fe4286c3515 124 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 125 tp.putPrintPosition(15);
MACRUM 25:9fe4286c3515 126 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 127 tp.putPrintPosition(25);
MACRUM 25:9fe4286c3515 128 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 129 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 130 tp.putLineFeed(4);
MACRUM 25:9fe4286c3515 131
MACRUM 25:9fe4286c3515 132 // Script
MACRUM 25:9fe4286c3515 133 tp.printf("123cm");
MACRUM 25:9fe4286c3515 134 tp.setScript(1);
MACRUM 25:9fe4286c3515 135 tp.printf("2");
MACRUM 25:9fe4286c3515 136 tp.clearScript();
MACRUM 25:9fe4286c3515 137 tp.printf("\r");
MACRUM 25:9fe4286c3515 138 tp.printf("123cm");
MACRUM 25:9fe4286c3515 139 tp.setScript(2);
MACRUM 25:9fe4286c3515 140 tp.printf("5");
MACRUM 25:9fe4286c3515 141 tp.clearScript();
MACRUM 25:9fe4286c3515 142 tp.printf("\r");
MACRUM 25:9fe4286c3515 143 tp.putLineFeed(4);
MACRUM 25:9fe4286c3515 144
MACRUM 25:9fe4286c3515 145 // QuadrupleSize
MACRUM 25:9fe4286c3515 146 tp.setQuadrupleSize();
MACRUM 25:9fe4286c3515 147 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 148 tp.clearQuadrupleSize();
MACRUM 25:9fe4286c3515 149 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 150
MACRUM 25:9fe4286c3515 151 // Enlargement
MACRUM 25:9fe4286c3515 152 tp.setEnlargement(1, 4);
MACRUM 25:9fe4286c3515 153 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 154 tp.setEnlargement(2, 4);
MACRUM 25:9fe4286c3515 155 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 156 tp.setEnlargement(3, 4);
MACRUM 25:9fe4286c3515 157 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 158 tp.setEnlargement(4, 4);
MACRUM 25:9fe4286c3515 159 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 160 tp.clearEnlargement();
MACRUM 25:9fe4286c3515 161 tp.printf("ABCDE\r");
MACRUM 25:9fe4286c3515 162
MACRUM 25:9fe4286c3515 163 // BarCodeHeight
MACRUM 25:9fe4286c3515 164 tp.setBarCodeHeight(10);
MACRUM 25:9fe4286c3515 165 tp.printf("JAN13\r");
MACRUM 25:9fe4286c3515 166 tp.printBarCode(AS289R2::BCODE_JAN13, "123456789012");
MACRUM 25:9fe4286c3515 167 tp.setBarCodeHeight(20);
MACRUM 25:9fe4286c3515 168 tp.printf("JAN13\r");
MACRUM 25:9fe4286c3515 169 tp.printBarCode(AS289R2::BCODE_JAN13, "123456789012");
MACRUM 25:9fe4286c3515 170 tp.defaultBarCodeHeight();
MACRUM 25:9fe4286c3515 171 tp.printf("JAN13\r");
MACRUM 25:9fe4286c3515 172 tp.printBarCode(AS289R2::BCODE_JAN13, "123456789012");
MACRUM 25:9fe4286c3515 173 tp.putLineFeed(4);
MACRUM 25:9fe4286c3515 174
MACRUM 25:9fe4286c3515 175 // BarCodeBarSize
MACRUM 25:9fe4286c3515 176 tp.setBarCodeBarSize(3,5);
MACRUM 25:9fe4286c3515 177 tp.printf("JAN13\r");
MACRUM 25:9fe4286c3515 178 tp.printBarCode(AS289R2::BCODE_JAN13, "123456789012");
MACRUM 25:9fe4286c3515 179 tp.defaultBarCodeBarSize();
MACRUM 25:9fe4286c3515 180 tp.printBarCode(AS289R2::BCODE_JAN13, "123456789012");
MACRUM 25:9fe4286c3515 181 tp.putLineFeed(4);
MACRUM 27:9547c5d41dde 182 #endif
MACRUM 24:d961f2e3f167 183 }
MACRUM 24:d961f2e3f167 184
Jonathan Austin 0:2757d7abb7d9 185
MACRUM 25:9fe4286c3515 186 int main()
MACRUM 25:9fe4286c3515 187 {
MACRUM 24:d961f2e3f167 188 AS289R2_demo();
Jonathan Austin 0:2757d7abb7d9 189 while (true) {
Jonathan Austin 0:2757d7abb7d9 190 led1 = !led1;
MACRUM 27:9547c5d41dde 191 thread_sleep_for(500);
Jonathan Austin 0:2757d7abb7d9 192 }
Jonathan Austin 0:2757d7abb7d9 193 }