|
| constexpr | LCD_HD44780 (LCD_HD44780_NumberOfLines lines, unsigned int columns, LCD_HD44780_Dots dots, const RSPin &rs_pin, const RWPin &rw_pin, const EPin &e_pin, const DataPins &data_pins, const APin &a_pin=VoidPin()) |
| |
| constexpr unsigned int | columns () const |
| | returns the number of columns of the LCD display
|
| |
| constexpr unsigned int | rows () const |
| | returns the number or rows of the LCD display
|
| |
| std::suspend_never | background_light (bool b) |
| |
| Coroutine< void > | init () |
| |
| Coroutine< void > | clear_display () |
| | Clears the display and returns the cursor to the home position (address 0)
|
| |
| Coroutine< void > | return_home () |
| | Returns the cursor to the home position (address 0)
|
| |
| Coroutine< void > | entry_mode (LCD_HD44780_CursorEntryDirection direction, LCD_HD44780_DisplayEntryShift shift) |
| | Set the cursors move direction and display shift.
|
| |
| Coroutine< void > | display_control (LCD_HD44780_DisplayControl display_control, LCD_HD44780_CursorControl cursor_control) |
| | Turn the display on/off and the curser on/off/blink.
|
| |
| Coroutine< void > | cursor_and_display_shift (LCD_HD44780_CursorDisplayShift cursor_display_shift) |
| |
| Coroutine< void > | function_set (LCD_HD44780_NumberOfLines number_of_lines, LCD_HD44780_Dots dots) |
| | set the data width, the number of lines and the character font
|
| |
| Coroutine< void > | set_cg_address (uint8_t addr) |
| | set the cg ram address (6-bit)
|
| |
| Coroutine< void > | set_dd_address (uint8_t addr) |
| | set the dd ram address (7-bit)
|
| |
| Coroutine< void > | write_data (uint8_t data) |
| | write data into the 'dd' or 'cg' ram
|
| |
| Coroutine< uint8_t > | read_data () |
| | Read data from the 'dd' or 'cg' ram.
|
| |
| Coroutine< LCD_HD44780_BusyFlagAddress > | read_busy_flag_and_address () |
| |
| Coroutine< bool > | is_busy () |
| |
template<cOutPin RSPin, cOutPin RWPin, cOutPin EPin, cPins< 8 > DataPins, cOutPin APin = VoidPin>
class fiber::LCD_HD44780< RSPin, RWPin, EPin, DataPins, APin >
driver for a LCD display with 8 data bit interface
Implements the communication protocol for the Hitachi HD44780 LCD controller.
Datasheet: https://cdn.sparkfun.com/assets/9/5/f/7/b/HD44780.pdf
Compatible controllers:
| Controller | Notes |
| HD44780 | Original from Hitachi |
| KS0066U | Samsung clone |
| ST7066U | Sitronix version |
| AIP31066 | Taiwan-based clone |
| SPLC780D | Sitronix clone |
| NT7605 | Novatek |
| TC2004A-01 | Module series using compatible controller |
| WH1602, WH2004 | WinStar modules with compatible controllers |
- Template Parameters
-
| DataPins | InputOutput Data Pins D0..D7 |
| RSPin | Function Select |
| RWPin | Read/Write select |
| EPin | Enable/Clock Pin |
| APin | Background Enable Pin (optional) |
template<cOutPin RSPin, cOutPin RWPin, cOutPin EPin, cPins< 8 > DataPins, cOutPin APin = VoidPin>
Returns the cursor to the home position (address 0)
Also returns a shifted display to the home position. DDRAM Contents remain Unchanged.