The Pedigree Project
0.1
|
#include <SerialIO.h>
Public Member Functions | |
SerialIO (Serial *pSerial) | |
void | setCliUpperLimit (size_t nlines) |
void | setCliLowerLimit (size_t nlines) |
void | enableCli () |
void | disableCli () |
void | cls () |
char | getCharNonBlock () |
void | readDimensions () |
void | drawHorizontalLine (char c, size_t row, size_t colStart, size_t colEnd, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
void | drawVerticalLine (char c, size_t col, size_t rowStart, size_t rowEnd, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
void | drawString (const char *str, size_t row, size_t col, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
size_t | getWidth () |
size_t | getHeight () |
void | enableRefreshes () |
void | disableRefreshes () |
void | forceRefresh () |
char | getChar () |
void | initialise () |
void | destroy () |
Public Member Functions inherited from DebuggerIO | |
DebuggerIO () | |
virtual void | writeCli (const char *str, Colour foreColour, Colour backColour) |
virtual void | writeCli (char ch, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
virtual bool | readCli (HugeStaticString &str, DebuggerCommand *pAutoComplete) |
Protected Member Functions | |
void | scroll () |
void | moveCursor () |
void | putChar (char c, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
void | startColour (DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
void | endColour () |
void | readCursor () |
void | setCursor () |
void | saveCursor () |
void | unsaveCursor () |
Protected Attributes | |
size_t | m_UpperCliLimit |
size_t | m_LowerCliLimit |
size_t | m_nWidth |
size_t | m_nHeight |
size_t | m_nCursorX |
size_t | m_nCursorY |
size_t | m_nOldCursorX |
size_t | m_nOldCursorY |
DebuggerIO::Colour | m_ForeColour |
DebuggerIO::Colour | m_BackColour |
Serial * | m_pSerial |
bool | m_bCli |
Protected Attributes inherited from DebuggerIO | |
bool | m_bReady |
char | m_pCommand [COMMAND_MAX] |
bool | m_bRefreshesEnabled |
Private Member Functions | |
SerialIO (const SerialIO &) | |
SerialIO & | operator= (const SerialIO &) |
Additional Inherited Members | |
Public Types inherited from DebuggerIO | |
enum | Colour { Black = 0, Blue = 1, Green = 2, Cyan = 3, Red = 4, Magenta = 5, Orange = 6, LightGrey = 7, DarkGrey = 8, LightBlue = 9, LightGreen = 10, LightCyan = 11, LightRed = 12, LightMagenta = 13, Yellow = 14, White = 15 } |
Provides an implementation of DebuggerIO, using the serial port.
Definition at line 34 of file SerialIO.h.
SerialIO::SerialIO | ( | Serial * | pSerial | ) |
Default constructor and destructor.
Definition at line 25 of file SerialIO.cc.
References Hex, m_nCursorX, m_pSerial, and NOTICE.
|
virtual |
Draw a line of characters in the given fore and back colours, in the horizontal or vertical direction. Note that if the CLI is enabled, anything drawn across the CLI area can be wiped without warning.
Implements DebuggerIO.
Definition at line 154 of file SerialIO.cc.
|
virtual |
Draws a string of text at the given location in the given colour. note that wrapping is not performed, the string will be clipped.
Implements DebuggerIO.
Definition at line 254 of file SerialIO.cc.
References m_pSerial.
|
virtual |
Enables or disables the command line interface, allowing full access to the display. disableCli blanks the screen, enableCli blanks it and puts a prompt up.
Implements DebuggerIO.
Definition at line 101 of file SerialIO.cc.
References m_LowerCliLimit, DebuggerIO::m_pCommand, m_pSerial, and m_UpperCliLimit.
|
virtual |
Allows disabling of refreshes, for example when deleting something then writing it back.
Implements DebuggerIO.
Definition at line 275 of file SerialIO.cc.
References DebuggerIO::m_bRefreshesEnabled.
Referenced by getWidth().
|
virtual |
Gets a character from the keyboard. Blocking. Returns 0 for a nonprintable character.
Implements DebuggerIO.
Definition at line 138 of file SerialIO.cc.
References ERROR, and m_pSerial.
Referenced by getWidth().
|
inlinevirtual |
Returns the width and height respectively of the console.
Implements DebuggerIO.
Definition at line 87 of file SerialIO.h.
References enableRefreshes(), getChar(), m_nWidth, moveCursor(), putChar(), and scroll().
|
protectedvirtual |
Updates the hardware cursor position.
Implements DebuggerIO.
Definition at line 289 of file SerialIO.cc.
References m_pSerial.
Referenced by getWidth().
|
protectedvirtual |
Implements DebuggerIO.
Definition at line 299 of file SerialIO.cc.
References ERROR, m_nCursorX, m_nWidth, and m_pSerial.
Referenced by getWidth().
|
protectedvirtual |
Scrolls the CLI screen down a line, if needed.
Implements DebuggerIO.
Definition at line 285 of file SerialIO.cc.
Referenced by getWidth().
|
virtual |
Forces the command line interface not to use the specified number of lines from either the top or bottom of the screen, respectively. Can be used to create status lines that aren't destroyed by screen scrolling.
Implements DebuggerIO.
Definition at line 87 of file SerialIO.cc.
References m_LowerCliLimit, and m_UpperCliLimit.
|
protected |
How many lines from the top of the screen the top of our CLI area is.
Definition at line 141 of file SerialIO.h.
Referenced by enableCli(), and setCliUpperLimit().
|
protected |
Cursor position, temporary.
Definition at line 153 of file SerialIO.h.
Referenced by putChar(), and SerialIO().
|
protected |
How many lines from the bottom of the screen the bottom of our CLI area is. Width and height.
Definition at line 147 of file SerialIO.h.
Referenced by drawHorizontalLine(), getWidth(), and putChar().
|
protected |
Serial device.
Definition at line 164 of file SerialIO.h.
Referenced by drawHorizontalLine(), drawString(), enableCli(), getChar(), moveCursor(), putChar(), and SerialIO().
|
protected |
Current upper and lower CLI limits.
Definition at line 139 of file SerialIO.h.
Referenced by enableCli(), and setCliUpperLimit().