Adds support for LCDs based on the HD44780 controller chip - or compatibles.
This chip requires 3 control lines and either 4 or 8 data lines. All of these pins are general IO pins.
The 4 pin method requires a few less pins than the 8 pin method but is slightly slower in operation.
This device also supports a number of different sized displays. The number of lines/rows is normally 1,2 or 4 but the number of columns can typically be 8, 16, or 20.
When using a MAKE command to create one of these devices then we need to specify its dimensions but the first choice is whether to use MAKE_HD44780_8PIN or MAKE_HD44780_4PIN depending on the number of IO pins available.
Both of these MAKE commands expect you to specify:-
1. The number of character columns across the display (normally 8, 16 or 20)
2. The number of lines down the display (1, 2, or 4)
3. The IO pins to use for RS, RW, and E (normally connected to pins 4,5, and 6 of the LCD)
4. The data I/O pins - either 4 or 8 of them depending on whether you've used MAKE_HD44780_4PIN or MAKE_HD44780_8PIN
5. Finally the address of a Writer to be used to send data to this device (autogenerated by Project Designer)
Once defined you should call displayInit from appInitHardware and then you can use other display commands as listed in _display_common.h