MOS Source Code
Loading...
Searching...
No Matches
SerialConsole Class Reference

#include <serial_console.hpp>

+ Inheritance diagram for SerialConsole:
+ Collaboration diagram for SerialConsole:

Public Member Functions

template<size_t buf_size>
 SerialConsole (const char *name, console_caps caps, Buffer< buf_size > *buffer, ISerialDevice *device, standard_color_t fg, standard_color_t bg)
 
void handle_irq ()
 
bool extra_setup () override
 
size_t do_write (const char *data, size_t size) override
 
bool set_color (standard_color_t fg, standard_color_t bg) override
 
bool clear () override
 
bool get_size (u32 *width, u32 *height) override
 
- Public Member Functions inherited from Console
template<size_t buf_size>
 Console (const char *name, console_caps caps, Buffer< buf_size > *read_buf, standard_color_t default_fg, standard_color_t default_bg)
 
virtual ~Console ()=default
 
size_t write (const char *data, size_t size)
 
size_t write_color (const char *data, size_t size, standard_color_t fg, standard_color_t bg)
 
void putc (u8 c)
 

Private Attributes

ISerialDevicedevice
 

Additional Inherited Members

- Public Attributes inherited from Console
 as_linked_list
 
io_t io
 
const char * name = "<unnamed>"
 
console_caps caps
 
waitlist_t waitlist
 
struct { 
 
   spinlock_t   lock 
 
   ring_buffer_pos_t   pos 
 
   u8 *   buf = nullptr 
 
   size_t   size = 0 
 
reader 
 
struct { 
 
   spinlock_t   lock 
 
writer 
 
standard_color_t fg
 
standard_color_t bg
 
standard_color_t default_fg = White
 
standard_color_t default_bg = Black
 

Detailed Description

Definition at line 11 of file serial_console.hpp.

Constructor & Destructor Documentation

◆ SerialConsole()

template<size_t buf_size>
SerialConsole ( const char * name,
console_caps caps,
Buffer< buf_size > * buffer,
ISerialDevice * device,
standard_color_t fg,
standard_color_t bg )
inlineexplicit

Definition at line 17 of file serial_console.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ handle_irq()

void handle_irq ( )

Definition at line 59 of file serial_console.cpp.

Referenced by serial_console_irq_handler().

+ Here is the call graph for this function:

◆ extra_setup()

bool extra_setup ( )
overridevirtual

Reimplemented from Console.

Definition at line 22 of file serial_console.cpp.

+ Here is the call graph for this function:

◆ do_write()

size_t do_write ( const char * data,
size_t size )
overridevirtual

Implements Console.

Definition at line 30 of file serial_console.cpp.

◆ set_color()

bool set_color ( standard_color_t fg,
standard_color_t bg )
overridevirtual

Implements Console.

Definition at line 35 of file serial_console.cpp.

+ Here is the call graph for this function:

◆ clear()

bool clear ( )
overridevirtual

Implements Console.

Definition at line 46 of file serial_console.cpp.

◆ get_size()

bool get_size ( u32 * width,
u32 * height )
overridevirtual

Implements Console.

Definition at line 52 of file serial_console.cpp.

Member Data Documentation

◆ device

ISerialDevice* device
private

Definition at line 13 of file serial_console.hpp.

Referenced by clear(), do_write(), extra_setup(), handle_irq(), SerialConsole(), and set_color().


The documentation for this class was generated from the following files: