AS-289R2 library test code for mbed OS 5
Fork of mbed-os-example-mbed5-blinky by
main.cpp@30:249784fd38fe, 2022-06-07 (annotated)
- Committer:
- MACRUM
- Date:
- Tue Jun 07 05:19:50 2022 +0000
- Revision:
- 30:249784fd38fe
- Parent:
- 29:c0d23edea193
update library
Who changed what in which revision?
User | Revision | Line number | New 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 | 30:249784fd38fe | 36 | tp.printf("** Thermal Printer Shield v1.0 **\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 | 29:c0d23edea193 | 134 | tp.setScript((AS289R2::script_mode)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 | 29:c0d23edea193 | 139 | tp.setScript((AS289R2::script_mode)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 | } |