Dependents:   cobaLCDJoyMotor_Thread odometry_omni_3roda_v3 odometry_omni_3roda_v1 odometry_omni_3roda_v2 ... more

Committer:
be_bryan
Date:
Mon Dec 11 17:54:04 2017 +0000
Revision:
0:b74591d5ab33
motor ++

Who changed what in which revision?

UserRevisionLine numberNew contents of line
be_bryan 0:b74591d5ab33 1 /* mbed TextDisplay Display Library Base Class
be_bryan 0:b74591d5ab33 2 * Copyright (c) 2007-2009 sford
be_bryan 0:b74591d5ab33 3 * Released under the MIT License: http://mbed.org/license/mit
be_bryan 0:b74591d5ab33 4 */
be_bryan 0:b74591d5ab33 5
be_bryan 0:b74591d5ab33 6 #include "TextDisplay.h"
be_bryan 0:b74591d5ab33 7
be_bryan 0:b74591d5ab33 8 TextDisplay::TextDisplay(const char *name) : Stream(name) {
be_bryan 0:b74591d5ab33 9 _row = 0;
be_bryan 0:b74591d5ab33 10 _column = 0;
be_bryan 0:b74591d5ab33 11 }
be_bryan 0:b74591d5ab33 12
be_bryan 0:b74591d5ab33 13 int TextDisplay::_putc(int value) {
be_bryan 0:b74591d5ab33 14 if(value == '\n') {
be_bryan 0:b74591d5ab33 15 _column = 0;
be_bryan 0:b74591d5ab33 16 _row++;
be_bryan 0:b74591d5ab33 17 if(_row >= rows()) {
be_bryan 0:b74591d5ab33 18 _row = 0;
be_bryan 0:b74591d5ab33 19 }
be_bryan 0:b74591d5ab33 20 } else {
be_bryan 0:b74591d5ab33 21 character(_column, _row, value);
be_bryan 0:b74591d5ab33 22 _column++;
be_bryan 0:b74591d5ab33 23 if(_column >= columns()) {
be_bryan 0:b74591d5ab33 24 _column = 0;
be_bryan 0:b74591d5ab33 25 _row++;
be_bryan 0:b74591d5ab33 26 if(_row >= rows()) {
be_bryan 0:b74591d5ab33 27 _row = 0;
be_bryan 0:b74591d5ab33 28 }
be_bryan 0:b74591d5ab33 29 }
be_bryan 0:b74591d5ab33 30 }
be_bryan 0:b74591d5ab33 31 return value;
be_bryan 0:b74591d5ab33 32 }
be_bryan 0:b74591d5ab33 33
be_bryan 0:b74591d5ab33 34 // crude cls implementation, should generally be overwritten in derived class
be_bryan 0:b74591d5ab33 35 void TextDisplay::cls() {
be_bryan 0:b74591d5ab33 36 locate(0, 0);
be_bryan 0:b74591d5ab33 37 for(int i=0; i<columns()*rows(); i++) {
be_bryan 0:b74591d5ab33 38 putc(' ');
be_bryan 0:b74591d5ab33 39 }
be_bryan 0:b74591d5ab33 40 }
be_bryan 0:b74591d5ab33 41
be_bryan 0:b74591d5ab33 42 void TextDisplay::locate(int column, int row) {
be_bryan 0:b74591d5ab33 43 _column = column;
be_bryan 0:b74591d5ab33 44 _row = row;
be_bryan 0:b74591d5ab33 45 }
be_bryan 0:b74591d5ab33 46
be_bryan 0:b74591d5ab33 47 int TextDisplay::_getc() {
be_bryan 0:b74591d5ab33 48 return -1;
be_bryan 0:b74591d5ab33 49 }
be_bryan 0:b74591d5ab33 50
be_bryan 0:b74591d5ab33 51 void TextDisplay::foreground(int colour) {
be_bryan 0:b74591d5ab33 52 _foreground = colour;
be_bryan 0:b74591d5ab33 53 }
be_bryan 0:b74591d5ab33 54
be_bryan 0:b74591d5ab33 55 void TextDisplay::background(int colour) {
be_bryan 0:b74591d5ab33 56 _background = colour;
be_bryan 0:b74591d5ab33 57 }