Driver for thermal printer using serial communication like http://www.sparkfun.com/products/10438. This is port from arduino library available at http://bildr.org/2011/08/thermal-printer-arduino/

Dependents:   ThermalSample mbedica_on_yehowshua mbedica

Committer:
mimil
Date:
Wed Jul 18 12:58:53 2012 +0000
Revision:
0:fd2be7a1b59f
update of headers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mimil 0:fd2be7a1b59f 1 /*
mimil 0:fd2be7a1b59f 2 Copyright (c) 2010 bildr community
mimil 0:fd2be7a1b59f 3 Ported to mbed by mimilowns
mimil 0:fd2be7a1b59f 4
mimil 0:fd2be7a1b59f 5 Permission is hereby granted, free of charge, to any person obtaining a copy
mimil 0:fd2be7a1b59f 6 of this software and associated documentation files (the "Software"), to deal
mimil 0:fd2be7a1b59f 7 in the Software without restriction, including without limitation the rights
mimil 0:fd2be7a1b59f 8 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
mimil 0:fd2be7a1b59f 9 copies of the Software, and to permit persons to whom the Software is
mimil 0:fd2be7a1b59f 10 furnished to do so, subject to the following conditions:
mimil 0:fd2be7a1b59f 11
mimil 0:fd2be7a1b59f 12 The above copyright notice and this permission notice shall be included in
mimil 0:fd2be7a1b59f 13 all copies or substantial portions of the Software.
mimil 0:fd2be7a1b59f 14
mimil 0:fd2be7a1b59f 15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
mimil 0:fd2be7a1b59f 16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
mimil 0:fd2be7a1b59f 17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
mimil 0:fd2be7a1b59f 18 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
mimil 0:fd2be7a1b59f 19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
mimil 0:fd2be7a1b59f 20 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
mimil 0:fd2be7a1b59f 21 THE SOFTWARE.
mimil 0:fd2be7a1b59f 22 */
mimil 0:fd2be7a1b59f 23
mimil 0:fd2be7a1b59f 24 #ifndef Thermal_h
mimil 0:fd2be7a1b59f 25 #define Thermal_h
mimil 0:fd2be7a1b59f 26
mimil 0:fd2be7a1b59f 27 #include "mbed.h"
mimil 0:fd2be7a1b59f 28
mimil 0:fd2be7a1b59f 29
mimil 0:fd2be7a1b59f 30
mimil 0:fd2be7a1b59f 31 class Thermal : public Serial
mimil 0:fd2be7a1b59f 32
mimil 0:fd2be7a1b59f 33 {
mimil 0:fd2be7a1b59f 34
mimil 0:fd2be7a1b59f 35 public:
mimil 0:fd2be7a1b59f 36 Thermal(PinName tx, PinName rx, int baud = 9600);
mimil 0:fd2be7a1b59f 37
mimil 0:fd2be7a1b59f 38 void setDefault();
mimil 0:fd2be7a1b59f 39 void test();
mimil 0:fd2be7a1b59f 40
mimil 0:fd2be7a1b59f 41
mimil 0:fd2be7a1b59f 42
mimil 0:fd2be7a1b59f 43 void inverseOn();
mimil 0:fd2be7a1b59f 44 void inverseOff();
mimil 0:fd2be7a1b59f 45 void doubleHeightOn();
mimil 0:fd2be7a1b59f 46 void doubleHeightOff();
mimil 0:fd2be7a1b59f 47 void boldOn();
mimil 0:fd2be7a1b59f 48 void boldOff();
mimil 0:fd2be7a1b59f 49 void underlineOn();
mimil 0:fd2be7a1b59f 50 void underlineOff();
mimil 0:fd2be7a1b59f 51
mimil 0:fd2be7a1b59f 52
mimil 0:fd2be7a1b59f 53
mimil 0:fd2be7a1b59f 54 void justify(char value);
mimil 0:fd2be7a1b59f 55 void feed(uint8_t x = 1);
mimil 0:fd2be7a1b59f 56 void sleep();
mimil 0:fd2be7a1b59f 57 void wake();
mimil 0:fd2be7a1b59f 58
mimil 0:fd2be7a1b59f 59
mimil 0:fd2be7a1b59f 60
mimil 0:fd2be7a1b59f 61 void setCharSpacing(int spacing);
mimil 0:fd2be7a1b59f 62 void setSize(char value);
mimil 0:fd2be7a1b59f 63 void setLineHeight(int val = 32);
mimil 0:fd2be7a1b59f 64
mimil 0:fd2be7a1b59f 65
mimil 0:fd2be7a1b59f 66
mimil 0:fd2be7a1b59f 67 void printBarcode(char * text);
mimil 0:fd2be7a1b59f 68 void printFancyBarcode(char * text);
mimil 0:fd2be7a1b59f 69 void setBarcodeHeight(int val);
mimil 0:fd2be7a1b59f 70
mimil 0:fd2be7a1b59f 71
mimil 0:fd2be7a1b59f 72
mimil 0:fd2be7a1b59f 73 void printBitmap(uint8_t w, uint8_t h, const uint8_t *bitmap);
mimil 0:fd2be7a1b59f 74
mimil 0:fd2be7a1b59f 75 // ??
mimil 0:fd2be7a1b59f 76 void tab();
mimil 0:fd2be7a1b59f 77
mimil 0:fd2be7a1b59f 78
mimil 0:fd2be7a1b59f 79
mimil 0:fd2be7a1b59f 80 void setHeatTime(int vHeatTime);
mimil 0:fd2be7a1b59f 81
mimil 0:fd2be7a1b59f 82 void setHeatInterval(int vHeatInterval);
mimil 0:fd2be7a1b59f 83
mimil 0:fd2be7a1b59f 84 void setPrintDensity(char vPrintDensity);
mimil 0:fd2be7a1b59f 85
mimil 0:fd2be7a1b59f 86 void setPrintBreakTime(char vPrintBreakTime);
mimil 0:fd2be7a1b59f 87
mimil 0:fd2be7a1b59f 88
mimil 0:fd2be7a1b59f 89 private:
mimil 0:fd2be7a1b59f 90 bool linefeedneeded;
mimil 0:fd2be7a1b59f 91
mimil 0:fd2be7a1b59f 92
mimil 0:fd2be7a1b59f 93 // little helpers to make code easier to read&use
mimil 0:fd2be7a1b59f 94 void writeBytes(uint8_t a, uint8_t b);
mimil 0:fd2be7a1b59f 95 void writeBytes(uint8_t a, uint8_t b, uint8_t c);
mimil 0:fd2be7a1b59f 96 void writeBytes(uint8_t a, uint8_t b, uint8_t c, uint8_t d);
mimil 0:fd2be7a1b59f 97
mimil 0:fd2be7a1b59f 98 // port from arduino serial to mbed serial
mimil 0:fd2be7a1b59f 99 void write(uint8_t a);
mimil 0:fd2be7a1b59f 100 void delay(uint8_t a);
mimil 0:fd2be7a1b59f 101
mimil 0:fd2be7a1b59f 102 int zero;
mimil 0:fd2be7a1b59f 103
mimil 0:fd2be7a1b59f 104
mimil 0:fd2be7a1b59f 105 int heatTime;
mimil 0:fd2be7a1b59f 106 int heatInterval;
mimil 0:fd2be7a1b59f 107 char printDensity;
mimil 0:fd2be7a1b59f 108 char printBreakTime;
mimil 0:fd2be7a1b59f 109 };
mimil 0:fd2be7a1b59f 110
mimil 0:fd2be7a1b59f 111 #endif