AS-289R2 library test code for mbed OS 5
Fork of mbed-os-example-mbed5-blinky by
Revision 24:d961f2e3f167, committed 2017-02-02
- Comitter:
- MACRUM
- Date:
- Thu Feb 02 02:57:57 2017 +0000
- Parent:
- 23:f732f7a1db63
- Child:
- 25:9fe4286c3515
- Commit message:
- Initial commit
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AS289R2.lib Thu Feb 02 02:57:57 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/MACRUM/code/AS289R2/#f3dfeb7ccb22
--- a/README.md Tue Jan 17 11:00:04 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -# Getting started with Blinky on mbed OS - -This is a very simple guide, reviewing the steps required to get Blinky working on an mbed OS platform. - -Please install [mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli). - -## Get the example application! - -From the command line, import the example: - -``` -mbed import mbed-os-example-blinky -cd mbed-os-example-blinky -``` - -### Now compile - -Invoke `mbed compile` specifying the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the ARM Compiler 5: - -``` -mbed compile -m K64F -t ARM -``` - -Your PC may take a few minutes to compile your code. At the end you should get the following result: - -``` -[snip] -+----------------------------+-------+-------+------+ -| Module | .text | .data | .bss | -+----------------------------+-------+-------+------+ -| Misc | 13939 | 24 | 1372 | -| core/hal | 16993 | 96 | 296 | -| core/rtos | 7384 | 92 | 4204 | -| features/FEATURE_IPV4 | 80 | 0 | 176 | -| frameworks/greentea-client | 1830 | 60 | 44 | -| frameworks/utest | 2392 | 512 | 292 | -| Subtotals | 42618 | 784 | 6384 | -+----------------------------+-------+-------+------+ -Allocated Heap: unknown -Allocated Stack: unknown -Total Static RAM memory (data + bss): 7168 bytes -Total RAM memory (data + bss + heap + stack): 7168 bytes -Total Flash memory (text + data + misc): 43402 bytes -Image: .\.build\K64F\ARM\mbed-os-example-blinky.bin -``` - -### Program your board - -1. Connect your mbed device to the computer over USB. -1. Copy the binary file to the mbed device . -1. Press the reset button to start the program. - -You should see the LED of your platform turning on and off. - -Congratulations if you managed to complete this test! - -## Export the project to Keil MDK and debug your application - -From the command line, run the following command: - -``` -mbed export -m K64F -i uvision -``` - -To debug the application: - -1. Start uVision. -1. Import the uVision project generated earlier. -1. Compile your application and generate an `.axf` file. -1. Make sure uVision is configured to debug over CMSIS-DAP (From the Project menu > Options for Target '...' > Debug tab > Use CMSIS-DAP Debugger). -1. Set breakpoints and start a debug session. - - - -## Troubleshooting - -1. Make sure `mbed-cli` is working correctly and its version is greater than `0.8.9` - - ``` - mbed --version - ``` - - If not, you can update it easily: - - ``` - pip install mbed-cli --upgrade - ``` - -2. If using Keil MDK, make sure you have a license installed. [MDK-Lite](http://www.keil.com/arm/mdk.asp) has a 32KB restriction on code size.
--- 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);
Toyomasa Watarai

AS-289R2 Thermal Printer Shield