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\\\'

Committer:
Krugmann
Date:
Sun Jan 23 15:42:11 2011 +0000
Revision:
0:50182c44faed

        

Who changed what in which revision?

UserRevisionLine numberNew 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 //*******************************************************************