| modm API documentation
    | 
#include <modm/ui/display/character_display.hpp>
 
  
 | Classes | |
| class | Writer | 
| Public Types | |
| enum | Command { ClearDisplay = 0b00000001, ResetCursor = 0b00000010, IncrementCursor = 0b00000110, DecrementCursor = 0b00000100, DisableDisplay = 0b00001000, EnableDisplay = 0b00001100, DisableCursor = 0b00001000, EnableCursor = 0b00001010, DisableCursorBlink = 0b00001000, EnableCursorBlink = 0b00001001, ShiftCursorLeft = 0b00010000, ShiftCursorRight = 0b00010100 } | 
| Public Member Functions | |
| CharacterDisplay (uint8_t width, uint8_t height) | |
| Constructor. | |
| void | initialize () | 
| Initialize the display. | |
| void | write (char c) | 
| virtual void | writeRaw (char c) = 0 | 
| void | execute (Command command) | 
| virtual void | setCursor (uint8_t column, uint8_t line) = 0 | 
| void | clear () | 
| clear the entire display and reset the cursor | |
| IOStream & | ascii () | 
| set the output mode to ASCII style for integer types | |
| IOStream & | bin () | 
| set the output mode to binary style for integer types | |
| IOStream & | endl () | 
| IOStream & | flush () | 
| IOStream & | get (char &c) | 
| Reads one character and returns it if available. Otherwise, returns IOStream::eof. | |
| IOStream & | get (char *s, size_t n) | 
| template<size_t N> | |
| IOStream & | get (char (&s)[N]) | 
| IOStream & | hex () | 
| set the output mode to hexadecimal style for integer types | |
| IOStream & | operator<< (const bool &v) | 
| IOStream & | operator<< (const char &v) | 
| IOStream & | operator<< (const uint8_t &v) | 
| IOStream & | operator<< (const int16_t &v) | 
| IOStream & | operator<< (const uint16_t &v) | 
| IOStream & | operator<< (const int32_t &v) | 
| IOStream & | operator<< (const uint32_t &v) | 
| IOStream & | operator<< (const int64_t &v) | 
| IOStream & | operator<< (const uint64_t &v) | 
| IOStream & | operator<< (const int &v) | 
| IOStream & | operator<< (const unsigned int &v) | 
| IOStream & | operator<< (const float &v) | 
| IOStream & | operator<< (const double &v) | 
| IOStream & | operator<< (const char *s) | 
| IOStream & | operator<< (const std::string_view sv) | 
| IOStream & | operator<< (const void *p) | 
| write the hex value of a pointer | |
| template<class Ret , class... Args> | |
| IOStream & | operator<< (Ret (*pointer)(Args...)) | 
| Write the hex value of any function pointer. | |
| IOStream & | operator<< (IOStream &(*format)(IOStream &)) | 
| IOStream & | printf (const char *fmt,...))) | 
| IOStream & | vprintf (const char *fmt, va_list vlist))) | 
| Static Public Attributes | |
| static constexpr char | eof = -1 | 
| Protected Attributes | |
| Writer | writer | 
| uint8_t | lineWidth | 
| uint8_t | lineCount | 
| uint8_t | column | 
| uint8_t | line | 
Base class for alpha-numeric LCDs (liquid crystal display)
About this implementation:
In contrast to other drivers which use static methods, this class is directly derived from modm::IODevice with all the virtual methods because it will be most likely used to create a IOStream which then handles the output to the display.
Therefore creating this class with static methods and using a wrapper class to create a modm::IODevice seems unnecessary complicated.
| void modm::CharacterDisplay::execute | ( | Command | command | ) | 
| 
 | inherited | 
reads characters into NULL delimited c string in contrast to the standard implementation, this does not care about newline characters in the input
| 
 | pure virtual | 
Set cursor to specified position
| column | horizontal position | 
| line | vertical position | 
Implemented in modm::Hd44780Dual< DATA, RW, RS, E1, E2 >, modm::Hd44780< DATA, RW, RS, E >, modm::St7036< SPI, CS, RS, Width, Heigth >, modm::St7036< SPI, CS, RS, 16, 2 >, modm::St7036< SPI, CS, RS, 8, 1 >, and modm::St7036< SPI, CS, RS, 16, 3 >.
| void modm::CharacterDisplay::write | ( | char | c | ) | 
Write a character
This method provides an automatic wrap-round if the output reaches the end of the current line or a newline character is detected.
Use writeRaw() if this behavior is not wanted.
| 
 | pure virtual | 
Write a raw character at cursor position
Unlike write() no further processing will occur.
Implemented in modm::Hd44780Dual< DATA, RW, RS, E1, E2 >, modm::Hd44780< DATA, RW, RS, E >, modm::St7036< SPI, CS, RS, Width, Heigth >, modm::St7036< SPI, CS, RS, 16, 2 >, modm::St7036< SPI, CS, RS, 8, 1 >, and modm::St7036< SPI, CS, RS, 16, 3 >.