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:
Thu Feb 02 02:57:57 2017 +0000
Revision:
24:d961f2e3f167
Parent:
22:af9dcf379926
Child:
25:9fe4286c3515
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 24:d961f2e3f167 1 /* AS289R2 library test program for mbed OS
MACRUM 24:d961f2e3f167 2 * Copyright (c) 2016, 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 24:d961f2e3f167 27 AS289R2 tp(D1);
MACRUM 24:d961f2e3f167 28
MACRUM 24:d961f2e3f167 29 const char url[] = "https://developer.mbed.org/components/AS-289R2-Thermal-Printer-Shield/";
MACRUM 24:d961f2e3f167 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 24:d961f2e3f167 35
MACRUM 24:d961f2e3f167 36 tp.printf("** Thermal Printer Shield **\r\r");
MACRUM 24:d961f2e3f167 37
MACRUM 24:d961f2e3f167 38 tp.setDoubleSizeWidth();
MACRUM 24:d961f2e3f167 39 tp.printf(" AS-289R2\r\r");
MACRUM 24:d961f2e3f167 40 tp.clearDoubleSizeWidth();
MACRUM 24:d961f2e3f167 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 24:d961f2e3f167 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 24:d961f2e3f167 52
MACRUM 24:d961f2e3f167 53 tp.setDoubleSizeHeight();
MACRUM 24:d961f2e3f167 54 tp.printf("ABCDEFG 0123456789\r");
MACRUM 24:d961f2e3f167 55 tp.clearDoubleSizeHeight();
MACRUM 24:d961f2e3f167 56
MACRUM 24:d961f2e3f167 57 tp.putLineFeed(2);
MACRUM 24:d961f2e3f167 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 24:d961f2e3f167 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 24:d961f2e3f167 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 24:d961f2e3f167 78
MACRUM 24:d961f2e3f167 79 }
MACRUM 24:d961f2e3f167 80
Jonathan Austin 0:2757d7abb7d9 81
Jonathan Austin 1:846c97078558 82 // main() runs in its own thread in the OS
mbed_official 22:af9dcf379926 83 // (note the calls to wait below for delays)
Jonathan Austin 0:2757d7abb7d9 84 int main() {
MACRUM 24:d961f2e3f167 85 AS289R2_demo();
Jonathan Austin 0:2757d7abb7d9 86 while (true) {
Jonathan Austin 0:2757d7abb7d9 87 led1 = !led1;
mbed_official 22:af9dcf379926 88 wait(0.5);
Jonathan Austin 0:2757d7abb7d9 89 }
Jonathan Austin 0:2757d7abb7d9 90 }
Jonathan Austin 1:846c97078558 91