VT52 is an enhancement of class Serial and offers some Methods for Printing in VT52 Terminal Style: clearScreen() - to clear the whole Terminal Screen clearLine() - to clear the current Line setCursor(lin, col) - to set cursor in column \\\'col\\\' of line \\\'lin\\\'
VT52.cpp@0:50182c44faed, 2011-01-23 (annotated)
- Committer:
- Krugmann
- Date:
- Sun Jan 23 15:42:11 2011 +0000
- Revision:
- 0:50182c44faed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Krugmann | 0:50182c44faed | 1 | /******************************************************************** |
Krugmann | 0:50182c44faed | 2 | * VT52.cpp - extends class Serial and adds new Functions |
Krugmann | 0:50182c44faed | 3 | * ------------------------------------------------------ |
Krugmann | 0:50182c44faed | 4 | * VT52 delivers functions for the VT52 Terminal: |
Krugmann | 0:50182c44faed | 5 | * clearScreen |
Krugmann | 0:50182c44faed | 6 | * clearLine |
Krugmann | 0:50182c44faed | 7 | * setCursor |
Krugmann | 0:50182c44faed | 8 | * |
Krugmann | 0:50182c44faed | 9 | * Author: Rainer Krugmann |
Krugmann | 0:50182c44faed | 10 | * Date: 2011.01.23 |
Krugmann | 0:50182c44faed | 11 | ********************************************************************/ |
Krugmann | 0:50182c44faed | 12 | |
Krugmann | 0:50182c44faed | 13 | /* |
Krugmann | 0:50182c44faed | 14 | |
Krugmann | 0:50182c44faed | 15 | Copyright (c) 2011 Rainer Krugmann |
Krugmann | 0:50182c44faed | 16 | (rainer (dot) krugmann [at] gmail [dot] com) |
Krugmann | 0:50182c44faed | 17 | |
Krugmann | 0:50182c44faed | 18 | Permission is hereby granted, free of charge, to any person obtaining a copy |
Krugmann | 0:50182c44faed | 19 | of this software and associated documentation files (the "Software"), to deal |
Krugmann | 0:50182c44faed | 20 | in the Software without restriction, including without limitation the rights |
Krugmann | 0:50182c44faed | 21 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
Krugmann | 0:50182c44faed | 22 | copies of the Software, and to permit persons to whom the Software is |
Krugmann | 0:50182c44faed | 23 | furnished to do so, subject to the following conditions: |
Krugmann | 0:50182c44faed | 24 | |
Krugmann | 0:50182c44faed | 25 | The above copyright notice and this permission notice shall be included in |
Krugmann | 0:50182c44faed | 26 | all copies or substantial portions of the Software. |
Krugmann | 0:50182c44faed | 27 | |
Krugmann | 0:50182c44faed | 28 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
Krugmann | 0:50182c44faed | 29 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
Krugmann | 0:50182c44faed | 30 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
Krugmann | 0:50182c44faed | 31 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
Krugmann | 0:50182c44faed | 32 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
Krugmann | 0:50182c44faed | 33 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
Krugmann | 0:50182c44faed | 34 | THE SOFTWARE. |
Krugmann | 0:50182c44faed | 35 | |
Krugmann | 0:50182c44faed | 36 | */ |
Krugmann | 0:50182c44faed | 37 | |
Krugmann | 0:50182c44faed | 38 | #include "mbed.h" |
Krugmann | 0:50182c44faed | 39 | #include "VT52.h" |
Krugmann | 0:50182c44faed | 40 | |
Krugmann | 0:50182c44faed | 41 | /******************************************************************** |
Krugmann | 0:50182c44faed | 42 | * class VT52 inherits from Serial |
Krugmann | 0:50182c44faed | 43 | ********************************************************************/ |
Krugmann | 0:50182c44faed | 44 | VT52::VT52(PinName tx, PinName rx) : Serial(tx, rx) {} |
Krugmann | 0:50182c44faed | 45 | |
Krugmann | 0:50182c44faed | 46 | /******************************************************************** |
Krugmann | 0:50182c44faed | 47 | * Method clearScreen - set cursor home and clear screen |
Krugmann | 0:50182c44faed | 48 | ********************************************************************/ |
Krugmann | 0:50182c44faed | 49 | void VT52::clearScreen() { |
Krugmann | 0:50182c44faed | 50 | printf("\x1b\x48"); // set cursor home |
Krugmann | 0:50182c44faed | 51 | printf("\x1b\x4a"); // clear screen |
Krugmann | 0:50182c44faed | 52 | } |
Krugmann | 0:50182c44faed | 53 | |
Krugmann | 0:50182c44faed | 54 | /******************************************************************** |
Krugmann | 0:50182c44faed | 55 | * Method clearLine - clear line from cursor position |
Krugmann | 0:50182c44faed | 56 | ********************************************************************/ |
Krugmann | 0:50182c44faed | 57 | void VT52::clearLine() { |
Krugmann | 0:50182c44faed | 58 | printf("\x1b\x4b"); |
Krugmann | 0:50182c44faed | 59 | } |
Krugmann | 0:50182c44faed | 60 | |
Krugmann | 0:50182c44faed | 61 | /******************************************************************** |
Krugmann | 0:50182c44faed | 62 | * Method setCursor - set cursor into column (0-79) of line (0-23) |
Krugmann | 0:50182c44faed | 63 | ********************************************************************/ |
Krugmann | 0:50182c44faed | 64 | void VT52::setCursor(unsigned char line, unsigned char column) { |
Krugmann | 0:50182c44faed | 65 | printf("\x1b\x59%c%c",(32 + line),(32 + column)); |
Krugmann | 0:50182c44faed | 66 | } |
Krugmann | 0:50182c44faed | 67 | |
Krugmann | 0:50182c44faed | 68 | //******************************************************************* |