Ben Gordon
/
ELEC351_GroupA-branch1
Troubleshooting
Terminal.cpp@17:b7cd66c5f845, 2018-11-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |