TextDisplays
Published 25 Nov 2009, by
Simon Ford
TextDisplay,
TextLCD
« Back to documentation index
Show/hide line numbers
Terminal.cpp Source File
Terminal.cpp
00001
00002
00003
00004
00005
00006 #include "Terminal.h"
00007
00008 #include "mbed.h"
00009
00010 Terminal::Terminal(PinName tx, PinName rx) : _serial(tx, rx) {
00011 cls();
00012 }
00013
00014 void Terminal::character(int column, int row, int c) {
00015
00016 _serial.printf("\033[%d;%dH%c", row + 1, column + 1, c);
00017 }
00018
00019 int Terminal::columns() {
00020 return 80;
00021 }
00022
00023 int Terminal::rows() {
00024 return 35;
00025 }
00026
00027 void Terminal::cls() {
00028 _serial.printf("\033[2J");
00029 }
00030
00031 void Terminal::foreground(int colour) {
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 int r = (colour >> 23) & 1;
00047 int g = (colour >> 15) & 1;
00048 int b = (colour >> 7) & 1;
00049 int bgr = (b << 2) | (g << 1) | (r << 0);
00050 int c = 30 + bgr;
00051 _serial.printf("\033[%dm", c);
00052 }
00053
00054 void Terminal::background(int colour) {
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066 int r = (colour >> 23) & 1;
00067 int g = (colour >> 15) & 1;
00068 int b = (colour >> 7) & 1;
00069 int bgr = (b << 2) | (g << 1) | (r << 0);
00070 int c = 40 + bgr;
00071 _serial.printf("\033[%dm", c);
00072 }
00073