AS-289R2 library test code for mbed OS 5
Fork of mbed-os-example-mbed5-blinky by
Diff: main.cpp
- Revision:
- 24:d961f2e3f167
- Parent:
- 22:af9dcf379926
- Child:
- 25:9fe4286c3515
--- a/main.cpp Tue Jan 17 11:00:04 2017 +0000 +++ b/main.cpp Thu Feb 02 02:57:57 2017 +0000 @@ -1,10 +1,88 @@ +/* AS289R2 library test program for mbed OS + * Copyright (c) 2016, Toyomasa Watarai + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + #include "mbed.h" +#include "AS289R2.h" DigitalOut led1(LED1); +AS289R2 tp(D1); + +const char url[] = "https://developer.mbed.org/components/AS-289R2-Thermal-Printer-Shield/"; + +void AS289R2_demo() +{ + tp.initialize(); + tp.putLineFeed(2); + + tp.printf("** Thermal Printer Shield **\r\r"); + + tp.setDoubleSizeWidth(); + tp.printf(" AS-289R2\r\r"); + tp.clearDoubleSizeWidth(); + + tp.printf("日本語文字列の印字テスト:24x24\r"); + tp.setKanjiFont(AS289R2::KANJI_16x16); + tp.setANKFont(AS289R2::ANK_8x16); + tp.printf("日本語文字列の印字テスト:16x16\r\r"); + + tp.setKanjiFont(AS289R2::KANJI_DEFAULT); + tp.setANKFont(AS289R2::ANK_DEFAULT); + tp.setDoubleSizeWidth(); + tp.printf("ABCDEFG 0123456789\r"); + tp.clearDoubleSizeWidth(); + + tp.setDoubleSizeHeight(); + tp.printf("ABCDEFG 0123456789\r"); + tp.clearDoubleSizeHeight(); + + tp.putLineFeed(2); + + tp.setANKFont(AS289R2::ANK_8x16); + tp.printf("8x16: Test 012345 アイウエオ\r\r"); + tp.setANKFont(AS289R2::ANK_12x24); + tp.printf("12x24: Test 012345 アイウエオ\r\r"); + tp.setANKFont(AS289R2::ANK_16x16); + tp.printf("16x16: Test 012345 アイウエオ\r\r"); + tp.setANKFont(AS289R2::ANK_24x24); + tp.printf("24x24: Test 012345 アイウエオ\r\r"); + tp.putLineFeed(1); + + tp.setANKFont(AS289R2::ANK_8x16); + tp.printf("QR\r"); + tp.printQRCode(AS289R2::QR_ERR_LVL_M, url); + tp.printf("\r%s\r", url); + tp.putLineFeed(2); + + tp.printf("UPC-A\r"); + tp.printBarCode(AS289R2::BCODE_UPC_A, "01234567890"); + tp.putLineFeed(4); + +} + // main() runs in its own thread in the OS // (note the calls to wait below for delays) int main() { + AS289R2_demo(); while (true) { led1 = !led1; wait(0.5);