Difference between revisions of "Component: LCD (EB005) (E-blocks 1)"
From Flowcode Help
Jump to navigationJump to search| (3 intermediate revisions by one other user not shown) | |||
| Line 69: | Line 69: | ||
| A simple example that shows how to use some common functions. | A simple example that shows how to use some common functions. | ||
| − | {{Fcfile| | + | {{Fcfile|LCD_Example.fcfx|LCD Example}} | 
| − | |||
| − | |||
| − | |||
| − | |||
| ==Macro reference== | ==Macro reference== | ||
| Line 91: | Line 87: | ||
| − | === | + | ===ClearLine=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearLine''' | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.  | 
| |- | |- | ||
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| − | | width="90%" |  | + | | width="90%" | Line | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | The line to clear, zero being the first (top) line of the display  | 
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 110: | Line 106: | ||
| − | === | + | ===Command=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Command''' | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.  | 
| |- | |- | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| − | | width="90%" |  | + | | width="90%" | instruction | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Send a defined command to the LCD Screen. See datasheet for supported commands.  | 
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 129: | Line 125: | ||
| − | === | + | ===Cursor=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Cursor''' | 
| + | |- | ||
| + | | colspan="2" | Moves the cursor on the LCD Display  | ||
| + | |- | ||
| |- | |- | ||
| − | |  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| + | | width="90%" | x | ||
| |- | |- | ||
| + | | colspan="2" | Set the cursor position in the X plane, 0 is the left most cell  | ||
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| − | | width="90%" |  | + | | width="90%" | y | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Set the cursor position in the Y plane, 0 is the top most cell  | 
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 148: | Line 149: | ||
| − | === | + | ===PrintAscii=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintAscii''' | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Takes the ascii value for a character and prints the character  | 
| |- | |- | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| − | | width="90%" |  | + | | width="90%" | character | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Holds an ascii value.  | 
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | 
| − | | width="90%" |  | + | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | 
| + | |} | ||
| + | |||
| + | |||
| + | ===PrintFormattedNumber=== | ||
| + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| − | |  | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | 
| + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintFormattedNumber''' | ||
| |- | |- | ||
| − | |  | + | | colspan="2" | Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295  | 
| − | |||
| |- | |- | ||
| − | |||
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | 
| − | | width="90%" |  | + | | width="90%" | Number | 
| |- | |- | ||
| − | | colspan="2" |   | + | | colspan="2" | Enter the number or variable to print to the LCD  | 
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | 
| − | | width="90%" |  | + | | width="90%" | Format | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | 0=Signed, 1=Unsigned  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 207: | Line 192: | ||
| − | === | + | ===PrintNumber=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber''' | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767  | 
| |- | |- | ||
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT | 
| − | | width="90%" |  | + | | width="90%" | Number | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Enter the number or variable to print to the LCD  | 
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 226: | Line 211: | ||
| − | === | + | ===PrintString=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintString''' | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro  | 
| |- | |- | ||
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | 
| − | | width="90%" |  | + | | width="90%" | Text | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Enter the text or variable to print to the LCD  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 250: | Line 230: | ||
| − | === | + | ===RAMWrite=== | 
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RAMWrite''' | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory  | 
| |- | |- | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| − | | width="90%" |  | + | | width="90%" | Index | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Values 0 to 7  | 
| |- | |- | ||
| − | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| − | | width="90%"  | + | | width="90%" | d0 | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| |- | |- | ||
| − | |  | + | | colspan="2" |   | 
| − | |||
| |- | |- | ||
| − | |  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| + | | width="90%" | d1 | ||
| |- | |- | ||
| + | | colspan="2" |   | ||
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| − | | width="90%" |  | + | | width="90%" | d2 | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" |   | 
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| − | | width="90%" |  | + | | width="90%" | d3 | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" |   | 
| |- | |- | ||
| − | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| − | | width="90%"  | + | | width="90%" | d4 | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| |- | |- | ||
| − | |  | + | | colspan="2" |   | 
| − | |||
| |- | |- | ||
| − | |  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | 
| + | | width="90%" | d5 | ||
| |- | |- | ||
| + | | colspan="2" |   | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| − | | width="90%" |  | + | | width="90%" | d6 | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" |   | 
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| − | | width="90%" |  | + | | width="90%" | d7 | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" |   | 
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 364: | Line 336: | ||
| |- | |- | ||
| | colspan="2" | New character value to use in place of the search character.  | | colspan="2" | New character value to use in place of the search character.  | ||
| + | |- | ||
| + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| + | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
| + | |} | ||
| + | |||
| + | |||
| + | ===ScrollDisplay=== | ||
| + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
| + | |- | ||
| + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ScrollDisplay''' | ||
| + | |- | ||
| + | | colspan="2" | Scrolls the display left or right by a number of given positions.  | ||
| + | |- | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| + | | width="90%" | Position | ||
| + | |- | ||
| + | | colspan="2" | Holds the number of positions to shift the display  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| + | | width="90%" | Direction | ||
| + | |- | ||
| + | | colspan="2" | 0 = left, 1 = right  | ||
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 382: | Line 378: | ||
| | width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
| |} | |} | ||
| − | |||
| − | |||
Latest revision as of 09:43, 20 April 2023
| Author | Matrix TSL | 
| Version | 1.1 | 
| Category | E-blocks 1 | 
Contents
LCD component
LCD based on the unit used in the Matrix EB005 E-block
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LCD_EB005.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LCD_EB005.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Connections
Example of a typical LCD pinout.
For the LCDs to work with the Flowcode LCD component they need to be connected up in 4-bit data mode.
The 4 data signals actually go to the upper data nibble on the LCD as shown below.
A simple example that shows how to use some common functions.
Macro reference
Clear
|   | Clear | 
| Clears the entire contents of the display. | |
|  - VOID | Return | 
ClearLine
Command
Cursor
PrintAscii
|   | PrintAscii | 
| Takes the ascii value for a character and prints the character | |
|  - BYTE | character | 
| Holds an ascii value. | |
|  - VOID | Return | 
PrintFormattedNumber
PrintNumber
|   | PrintNumber | 
| Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
|  - INT | Number | 
| Enter the number or variable to print to the LCD | |
|  - VOID | Return | 
PrintString
|   | PrintString | 
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
|  - STRING | Text | 
| Enter the text or variable to print to the LCD | |
|  - VOID | Return | 
RAMWrite
RawSend
|   | RawSend | 
| Sends data to the LCD display | |
|  - BYTE | data | 
| The data byte to send to the LCD | |
|  - BOOL | type | 
| A boolean to indicate command type: true to write data, false to write a command | |
|  - VOID | Return | 
RemapCharacter
ScrollDisplay
|   | ScrollDisplay | 
| Scrolls the display left or right by a number of given positions. | |
|  - BYTE | Position | 
| Holds the number of positions to shift the display | |
|  - BYTE | Direction | 
| 0 = left, 1 = right | |
|  - VOID | Return | 
Start
|   | Start | 
| Startup routine required by the hardware device. Automatically clears the display after initialising. | |
|  - VOID | Return | 










