Difference between revisions of "Unit HD44780"
(6 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '''Hitachi HD44780 LCD | + | '''Hitachi HD44780 LCD Controller Driver unit''' |
+ | |||
The Hitachi HD44780 is a dot matrix liquid crystal display controller. It supports 5x8 or 5x10 characters and includes a 240 character font in ROM, 80 bytes of character RAM and 64 bytes of character generator RAM for custom characters. | The Hitachi HD44780 is a dot matrix liquid crystal display controller. It supports 5x8 or 5x10 characters and includes a 240 character font in ROM, 80 bytes of character RAM and 64 bytes of character generator RAM for custom characters. | ||
Line 30: | Line 31: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 instruction | + | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 instruction''' <code> HD44780_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 62: | Line 63: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 entry mode set | + | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 entry mode set''' <code> HD44780_ENTRYMODESET_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 82: | Line 83: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 display control | + | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 display control''' <code> HD44780_DISPLAYCONTROL_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 108: | Line 109: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 cursor shift | + | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 cursor shift''' <code> HD44780_CURSORSHIFT_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 128: | Line 129: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 function set | + | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 function set''' <code> HD44780_FUNCTIONSET_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 154: | Line 155: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 row offset | + | <div style="font-size: 14px; padding-left: 12px;">'''HD44780 row offset''' <code> HD44780_ROW_OFFSETS* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 169: | Line 170: | ||
---- | ---- | ||
− | '' | + | |
+ | '''HD44780 character''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PHD44780Character = ^THD44780Character;</code> | ||
+ | |||
+ | <code>THD44780Character = array[0..7] of Byte;</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''HD44780 console''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PHD44780Console = ^THD44780Console;</code> | ||
+ | |||
+ | <code>THD44780Console = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''Console Properties'' | ||
+ | |- | ||
+ | | <code>Console:TConsoleDevice;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''HD44780 Properties'' | ||
+ | |- | ||
+ | | <code>GPIO:PGPIODevice;</code> | ||
+ | | The GPIO device this Console is connected to | ||
+ | |- | ||
+ | | <code>RS:LongWord;</code> | ||
+ | | The GPIO pin for the RS line | ||
+ | |- | ||
+ | | <code>RW:LongWord;</code> | ||
+ | | The GPIO pin for the RW line | ||
+ | |- | ||
+ | | <code>EN:LongWord;</code> | ||
+ | | The GPIO pin for the EN line | ||
+ | |- | ||
+ | | <code>D4:LongWord;</code> | ||
+ | | The GPIO pin for the D4 line | ||
+ | |- | ||
+ | | <code>D5:LongWord;</code> | ||
+ | | The GPIO pin for the D5 line | ||
+ | |- | ||
+ | | <code>D6:LongWord;</code> | ||
+ | | The GPIO pin for the D6 line | ||
+ | |- | ||
+ | | <code>D7:LongWord;</code> | ||
+ | | The GPIO pin for the D7 line | ||
+ | |- | ||
+ | | <code>EntryMode:Byte;</code> | ||
+ | | Current value of the Entry Mode settings | ||
+ | |- | ||
+ | | <code>FunctionSet:Byte;</code> | ||
+ | | Current value of the Function Set settings | ||
+ | |- | ||
+ | | <code>DisplayControl:Byte;</code> | ||
+ | | Current value of the Display Control settings | ||
+ | |- | ||
+ | |colspan="2"|''Cursor Properties'' | ||
+ | |- | ||
+ | | <code>CursorX:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CursorY:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''Buffer Properties'' | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Buffer:PByte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
---- | ---- | ||
− | '' | + | ''None defined'' |
=== Function declarations === | === Function declarations === | ||
Line 188: | Line 272: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 200: | Line 284: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 215: | Line 299: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceOpen instead | + | | Not intended to be called directly by applications, use ConsoleDeviceOpen instead. |
|- | |- | ||
|} | |} | ||
Line 227: | Line 311: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceClose instead | + | | Not intended to be called directly by applications, use ConsoleDeviceClose instead. |
|- | |- | ||
|} | |} | ||
Line 239: | Line 323: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceClear instead | + | | Not intended to be called directly by applications, use ConsoleDeviceClear instead. |
|- | |- | ||
|} | |} | ||
Line 251: | Line 335: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceScroll instead | + | | Not intended to be called directly by applications, use ConsoleDeviceScroll instead. |
|- | |- | ||
|} | |} | ||
Line 263: | Line 347: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceDrawChar instead | + | | Not intended to be called directly by applications, use ConsoleDeviceDrawChar instead. |
|- | |- | ||
|} | |} | ||
Line 275: | Line 359: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceDrawText instead | + | | Not intended to be called directly by applications, use ConsoleDeviceDrawText instead. |
|- | |- | ||
|} | |} | ||
Line 287: | Line 371: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceDrawBlock instead | + | | Not intended to be called directly by applications, use ConsoleDeviceDrawBlock instead. |
|- | |- | ||
|} | |} | ||
Line 294: | Line 378: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
− | <pre style="border: 0; padding-bottom:0px;">function HD44780ConsoleDrawWindow(Console:PConsoleDevice; Handle:TWindowHandle):LongWord;</pre> | + | <pre style="border: 0; padding-bottom:0px;">function HD44780ConsoleDrawWindow(Console:PConsoleDevice; Handle:TWindowHandle; Flags:LongWord):LongWord;</pre> |
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of ConsoleDeviceDrawWindow API for HD44780</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of ConsoleDeviceDrawWindow API for HD44780</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Window lock | | Caller must hold the Window lock | ||
− | Not intended to be called directly by applications, use ConsoleDeviceDrawWindow instead | + | Not intended to be called directly by applications, use ConsoleDeviceDrawWindow instead. |
|- | |- | ||
|} | |} | ||
Line 312: | Line 396: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDevicePutText instead | + | | Not intended to be called directly by applications, use ConsoleDevicePutText instead. |
|- | |- | ||
|} | |} | ||
Line 324: | Line 408: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | Not intended to be called directly by applications, use ConsoleDeviceGetPosition instead | + | | Not intended to be called directly by applications, use ConsoleDeviceGetPosition instead. |
|- | |- | ||
|} | |} | ||
Line 339: | Line 423: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 351: | Line 435: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 363: | Line 447: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 375: | Line 459: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 387: | Line 471: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 399: | Line 483: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 411: | Line 495: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 423: | Line 507: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- | ||
Line 435: | Line 519: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Caller must hold the Console lock | | Caller must hold the Console lock | ||
|- | |- |
Latest revision as of 05:43, 31 August 2021
Return to Unit Reference
Description
Hitachi HD44780 LCD Controller Driver unit
The Hitachi HD44780 is a dot matrix liquid crystal display controller. It supports 5x8 or 5x10 characters and includes a 240 character font in ROM, 80 bytes of character RAM and 64 bytes of character generator RAM for custom characters.
The device support 4 bit or 8 bit modes, and has a range of standard functions for display clear, display on/off, cursor on/off, character blink, cursor shift etc.
This unit creates a Console device to represent the LCD and provides the standard console device functions (where appropriate) to draw text, clear the screen, scroll text and manage the cursor.
Currently only 4 bit mode is supported but extension to include 8 bit mode is possible with some additional setup and support functions.
Constants
HD44780_CONSOLE_*
HD44780_CONSOLE_DESCRIPTION = 'Hitachi HD44780 LCD Controller';
|
Description of HD44780 device |
HD44780_*
HD44780_CLEARDISPLAY = $01;
|
|
HD44780_RETURNHOME = $02;
|
|
HD44780_ENTRYMODESET = $04;
|
|
HD44780_DISPLAYCONTROL = $08;
|
|
HD44780_CURSORSHIFT = $10;
|
|
HD44780_FUNCTIONSET = $20;
|
|
HD44780_SETCGRAMADDR = $40;
|
|
HD44780_SETDDRAMADDR = $80;
|
HD44780_ENTRYMODESET_*
HD44780_ENTRYMODESET_RIGHT = $00;
|
|
HD44780_ENTRYMODESET_LEFT = $02;
|
|
HD44780_ENTRYMODESET_SHIFTINC = $01;
|
|
HD44780_ENTRYMODESET_SHIFTDEC = $00;
|
HD44780_DISPLAYCONTROL_*
HD44780_DISPLAYCONTROL_DISPLAYON = $04;
|
|
HD44780_DISPLAYCONTROL_DISPLAYOFF = $00;
|
|
HD44780_DISPLAYCONTROL_CURSORON = $02;
|
|
HD44780_DISPLAYCONTROL_CURSOROFF = $00;
|
|
HD44780_DISPLAYCONTROL_BLINKON = $01;
|
|
HD44780_DISPLAYCONTROL_BLINKOFF = $00;
|
HD44780_CURSORSHIFT_*
HD44780_CURSORSHIFT_DISPLAY = $08;
|
|
HD44780_CURSORSHIFT_CURSOR = $00;
|
|
HD44780_CURSORSHIFT_RIGHT = $04;
|
|
HD44780_CURSORSHIFT_LEFT = $00;
|
HD44780_FUNCTIONSET_*
HD44780_FUNCTIONSET_8BITMODE = $10;
|
|
HD44780_FUNCTIONSET_4BITMODE = $00;
|
|
HD44780_FUNCTIONSET_2LINE = $08;
|
|
HD44780_FUNCTIONSET_1LINE = $00;
|
|
HD44780_FUNCTIONSET_5X10DOTS = $04;
|
|
HD44780_FUNCTIONSET_5X8DOTS = $00;
|
HD44780_ROW_OFFSETS*
4 rows | |
HD44780_ROW_OFFSETS:array[0..3] of Byte = ($00,$40,$14,$54);
|
Type definitions
HD44780 character
PHD44780Character = ^THD44780Character;
THD44780Character = array[0..7] of Byte;
HD44780 console
PHD44780Console = ^THD44780Console;
THD44780Console = record
Console Properties | |
Console:TConsoleDevice;
|
|
HD44780 Properties | |
GPIO:PGPIODevice;
|
The GPIO device this Console is connected to |
RS:LongWord;
|
The GPIO pin for the RS line |
RW:LongWord;
|
The GPIO pin for the RW line |
EN:LongWord;
|
The GPIO pin for the EN line |
D4:LongWord;
|
The GPIO pin for the D4 line |
D5:LongWord;
|
The GPIO pin for the D5 line |
D6:LongWord;
|
The GPIO pin for the D6 line |
D7:LongWord;
|
The GPIO pin for the D7 line |
EntryMode:Byte;
|
Current value of the Entry Mode settings |
FunctionSet:Byte;
|
Current value of the Function Set settings |
DisplayControl:Byte;
|
Current value of the Display Control settings |
Cursor Properties | |
CursorX:Byte;
|
|
CursorY:Byte;
|
|
Buffer Properties | |
Size:LongWord;
|
|
Buffer:PByte;
|
Public variables
None defined
Function declarations
HD44780 functions
function HD44780ConsoleCreate(GPIO:PGPIODevice; const Name:String; Width,Height,RS,RW,EN,D4,D5,D6,D7:LongWord):PConsoleDevice;
Note | None documented |
---|
function HD44780ConsoleDestroy(Console:PConsoleDevice):LongWord;
Note | None documented |
---|
HD44780 console functions
function HD44780ConsoleOpen(Console:PConsoleDevice):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceOpen instead. |
---|
function HD44780ConsoleClose(Console:PConsoleDevice):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceClose instead. |
---|
function HD44780ConsoleClear(Console:PConsoleDevice; Color:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceClear instead. |
---|
function HD44780ConsoleScroll(Console:PConsoleDevice; X1,Y1,X2,Y2,Count,Direction:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceScroll instead. |
---|
function HD44780ConsoleDrawChar(Console:PConsoleDevice; Handle:TFontHandle; Ch:Char; X,Y,Forecolor,Backcolor:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceDrawChar instead. |
---|
function HD44780ConsoleDrawText(Console:PConsoleDevice; Handle:TFontHandle; const Text:String; X,Y,Forecolor,Backcolor,Len:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceDrawText instead. |
---|
function HD44780ConsoleDrawBlock(Console:PConsoleDevice; X1,Y1,X2,Y2,Color:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceDrawBlock instead. |
---|
function HD44780ConsoleDrawWindow(Console:PConsoleDevice; Handle:TWindowHandle; Flags:LongWord):LongWord;
Note | Caller must hold the Window lock
Not intended to be called directly by applications, use ConsoleDeviceDrawWindow instead. |
---|
function HD44780ConsolePutText(Console:PConsoleDevice; Handle:TFontHandle; const Source,Dest:TConsolePoint; Buffer:PConsoleChar; Width,Height,Skip:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDevicePutText instead. |
---|
function HD44780ConsoleGetPosition(Console:PConsoleDevice; Position:LongWord; var X1,Y1,X2,Y2:LongWord):LongWord;
Note | Not intended to be called directly by applications, use ConsoleDeviceGetPosition instead. |
---|
HD44780 helper functions
function HD44780WriteChar(Console:PHD44780Console; Ch:Char):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780WriteData(Console:PHD44780Console; Value:Byte):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780PulseEnable(Console:PHD44780Console):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780CursorHome(Console:PHD44780Console):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780CursorBlink(Console:PHD44780Console; Blink:Boolean):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780CursorVisible(Console:PHD44780Console; Visible:Boolean):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780CursorPosition(Console:PHD44780Console; Row,Col:Byte):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780DisplayEnabled(Console:PHD44780Console; Enabled:Boolean):LongWord;
Note | Caller must hold the Console lock |
---|
function HD44780AddCharacter(Console:PHD44780Console; Location:Byte; Character:THD44780Character):LongWord;
Note | Caller must hold the Console lock |
---|
Return to Unit Reference