|
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, 3 >, modm::St7036< SPI, CS, RS, 16, 2 >, and modm::St7036< SPI, CS, RS, 8, 1 >.
| 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, 3 >, modm::St7036< SPI, CS, RS, 16, 2 >, and modm::St7036< SPI, CS, RS, 8, 1 >.