Ben Gordon / Mbed OS ELEC351_GroupA-branch1
Committer:
BenRJG
Date:
Fri Nov 09 14:24:39 2018 +0000
Revision:
17:b7cd66c5f845
Parent:
6:f3d1ab8a9e99
export to keil

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan738 6:f3d1ab8a9e99 1 #include "mbed.h"
Jonathan738 6:f3d1ab8a9e99 2 #include "DataTypes.hpp"
Jonathan738 6:f3d1ab8a9e99 3 #include "Terminal.hpp"
Jonathan738 6:f3d1ab8a9e99 4
Jonathan738 6:f3d1ab8a9e99 5 void Terminal::init(void)
Jonathan738 6:f3d1ab8a9e99 6 {
Jonathan738 6:f3d1ab8a9e99 7 pc.baud (115200);
Jonathan738 6:f3d1ab8a9e99 8
Jonathan738 6:f3d1ab8a9e99 9 // Hide cursor, move to x 0 y 0 and change print colour to green
Jonathan738 6:f3d1ab8a9e99 10 pc.printf("\x1b[?25l");
Jonathan738 6:f3d1ab8a9e99 11 Cursor(0,0);
Jonathan738 6:f3d1ab8a9e99 12 Colour(ColourGREEN);
Jonathan738 6:f3d1ab8a9e99 13
Jonathan738 6:f3d1ab8a9e99 14 // Print Table to be filled later
Jonathan738 6:f3d1ab8a9e99 15 pc.printf("* TEMP * PRESSURE * LIGHT * OTR * *\n\r"
Jonathan738 6:f3d1ab8a9e99 16 "**********************************************************************\n\r");
Jonathan738 6:f3d1ab8a9e99 17 for(BYTE idx = 0; idx < Rows; idx++)
Jonathan738 6:f3d1ab8a9e99 18 {
Jonathan738 6:f3d1ab8a9e99 19 pc.printf("* * * * * *\n\r");
Jonathan738 6:f3d1ab8a9e99 20 }
Jonathan738 6:f3d1ab8a9e99 21 pc.printf("**********************************************************************\n\r");
Jonathan738 6:f3d1ab8a9e99 22
Jonathan738 6:f3d1ab8a9e99 23 // Position cursor in first cell of table
Jonathan738 6:f3d1ab8a9e99 24 Cursor(3,3);
Jonathan738 6:f3d1ab8a9e99 25 Colour(ColourRED);
Jonathan738 6:f3d1ab8a9e99 26 }
Jonathan738 6:f3d1ab8a9e99 27
Jonathan738 6:f3d1ab8a9e99 28 // Move cursor of pc terminal to co-ordinates X and Y (between 0 and 255)
Jonathan738 6:f3d1ab8a9e99 29 void Terminal::Cursor(BYTE X, BYTE Y)
Jonathan738 6:f3d1ab8a9e99 30 {
Jonathan738 6:f3d1ab8a9e99 31 pc.printf("\x1b[%d;%dH",Y,X);
Jonathan738 6:f3d1ab8a9e99 32 }
Jonathan738 6:f3d1ab8a9e99 33
Jonathan738 6:f3d1ab8a9e99 34 // Change pc terminal print colour (8 bit colour) to colour defined by COLOUR
Jonathan738 6:f3d1ab8a9e99 35 void Terminal::Colour(BYTE COLOUR)
Jonathan738 6:f3d1ab8a9e99 36 {
Jonathan738 6:f3d1ab8a9e99 37 pc.printf("\x1b[38;5;%dm",COLOUR);
Jonathan738 6:f3d1ab8a9e99 38 }
Jonathan738 6:f3d1ab8a9e99 39
Jonathan738 6:f3d1ab8a9e99 40 // Prints data(STRING) to cell in table defined by IDX
Jonathan738 6:f3d1ab8a9e99 41 void Terminal::PrintDATA(BYTE* STRING, BYTE IDX)
Jonathan738 6:f3d1ab8a9e99 42 {
Jonathan738 6:f3d1ab8a9e99 43 BYTE Y = (IDX/3)+3;
Jonathan738 6:f3d1ab8a9e99 44 BYTE X = ((IDX%3)*14)+3;
Jonathan738 6:f3d1ab8a9e99 45 Cursor(X,Y);
Jonathan738 6:f3d1ab8a9e99 46 pc.printf("%s",STRING);
Jonathan738 6:f3d1ab8a9e99 47 }
Jonathan738 6:f3d1ab8a9e99 48
Jonathan738 6:f3d1ab8a9e99 49 // Prints index of cells into each cell for debug purpose
Jonathan738 6:f3d1ab8a9e99 50 void Terminal::DisplayCellIndex(void){
Jonathan738 6:f3d1ab8a9e99 51 for(BYTE IDX = 0; IDX < MaxDATA; IDX++){
Jonathan738 6:f3d1ab8a9e99 52 BYTE Y = (IDX/3)+3;
Jonathan738 6:f3d1ab8a9e99 53 BYTE X = ((IDX%3)*14)+3;
Jonathan738 6:f3d1ab8a9e99 54 Cursor(X,Y);
Jonathan738 6:f3d1ab8a9e99 55 pc.printf("%d",IDX);
Jonathan738 6:f3d1ab8a9e99 56 }
Jonathan738 6:f3d1ab8a9e99 57 }