Component: LCD (EB005) (E-blocks 1): Difference between revisions
Appearance
XML import - Pre 8.0 release |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (17 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
{| style="width:50%" | |||
{| | |||
|- | |- | ||
| width="20%" style="color: gray;" | Author | | width="20%" style="color:gray;" | Author | ||
| Matrix TSL | | Matrix TSL | ||
|- | |- | ||
| width="20%" style="color: gray;" | Version | | width="20%" style="color:gray;" | Version | ||
| 1.1 | | 1.1 | ||
|- | |- | ||
| width="20%" style="color: gray;" | Category | | width="20%" style="color:gray;" | Category | ||
| E-blocks 1 | | E-blocks 1 | ||
|} | |} | ||
==LCD component== | |||
== | |||
LCD based on the unit used in the Matrix EB005 E-block | LCD based on the unit used in the Matrix EB005 E-block | ||
== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LCD_EB005.fcfx FC_Comp_Source_LCD_EB005.fcfx] | |||
= | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LCD_EB005.fcfx FC_Comp_Source_LCD_EB005.fcfx] | ||
=== | ==Detailed description== | ||
'' | ''No detailed description exists yet for this component'' | ||
==Examples== | |||
===Connections=== | |||
Example of a typical LCD pinout. | |||
[[File:Typical LCD pinout.png]] | |||
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. | |||
[[File:LCDConns.jpg]] | |||
A simple example that shows how to use some common functions. | |||
{{Fcfile|LCD_Example.fcfx|LCD Example}} | |||
==Macro reference== | |||
'''Return | ===Clear=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Clear''' | |||
|- | |||
| colspan="2" | Clears the entire contents of the display. | |||
|- | |||
|- | |||
| 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'' | |||
|} | |||
===ClearLine=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ClearLine''' | |||
|- | |||
| 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-u8-icon.png]] - BYTE | |||
| width="90%" | Line | |||
|- | |||
| 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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
''' | ===Command=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Command''' | |||
|- | |||
| 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="90%" | instruction | |||
|- | |||
| 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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===Cursor=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''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-u8-icon.png]] - BYTE | |||
| width="90%" | y | |||
|- | |||
| 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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
:'' | ===PrintAscii=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''PrintAscii''' | |||
|- | |||
| colspan="2" | Takes the ascii value for a character and prints the character | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | character | |||
|- | |||
| colspan="2" | Holds an ascii value. | |||
|- | |||
| 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'' | |||
|} | |||
=== | ===PrintFormattedNumber=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''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-u32-icon.png]] - ULONG | |||
| width="90%" | Number | |||
|- | |||
| colspan="2" | Enter the number or variable to print to the LCD | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | |||
| width="90%" | Format | |||
|- | |||
| colspan="2" | 0=Signed, 1=Unsigned | |||
|- | |||
| 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'' | |||
|} | |||
===PrintNumber=== | |||
: | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''PrintNumber''' | |||
|- | |||
| 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-s16-icon.png]] - INT | |||
| width="90%" | Number | |||
|- | |||
| 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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===PrintString=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''PrintString''' | |||
|- | |||
| 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-string-icon.png]] - STRING | |||
| width="90%" | Text | |||
|- | |||
| 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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
:'' | ===RAMWrite=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''RAMWrite''' | |||
|- | |||
| 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="90%" | Index | |||
|- | |||
| colspan="2" | Values 0 to 7 | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| 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-u8-icon.png]] - BYTE | |||
| width="90%" | d2 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | d3 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| 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="90%" | d6 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | d7 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| 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'' | |||
|} | |||
=== | ===RawSend=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''RawSend''' | |||
|- | |||
| colspan="2" | Sends data to the LCD display | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | data | |||
|- | |||
| colspan="2" | The data byte to send to the LCD | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | |||
| width="90%" | type | |||
|- | |||
| colspan="2" | A boolean to indicate command type: true to write data, false to write a command | |||
|- | |||
| 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'' | |||
|} | |||
===RemapCharacter=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''RemapCharacter''' | |||
|- | |||
| colspan="2" | Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | RemapIdx | |||
|- | |||
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1) | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | SearchCharacter | |||
|- | |||
| colspan="2" | Character to look for a replace | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | ReplacementCharacter | |||
|- | |||
| 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'' | |||
|} | |||
'''Return | ===ScrollDisplay=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===Start=== | |||
=== | {| class="mtx-class-macrotable wikitable" | ||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Start''' | |||
|- | |||
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising. | |||
|- | |||
|- | |||
| 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'' | |||
|} | |||
''' | |||
== | |||
= | |||
==Property reference== | ==Property reference== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Properties''' | |||
|- | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Connections | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 0 (11) | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 1 (12) | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 2 (13) | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 3 (14) | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Register Select (4) | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Enable (6) | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Component Label | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | Component Label Scale | |||
|- | |||
| colspan="2" | The label scale can be change if the amout of text is too wide for the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Text Colour | |||
|- | |||
| colspan="2" | Colour of the font characters drawn on the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Text Background | |||
|- | |||
| colspan="2" | Colour surrounding the font characters drawn on the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Display Background | |||
|- | |||
| colspan="2" | Colour of the background of the display | |||
|} | |||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix TSL |
| Version | 1.1 |
| Category | E-blocks 1 |
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. | |
| Return | |
ClearLine
Command
Cursor
PrintAscii
| PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Holds an ascii value. | |
| 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 | |
| Number | |
| Enter the number or variable to print to the LCD | |
| Return | |
PrintString
| PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Enter the text or variable to print to the LCD | |
| Return | |
RAMWrite
RawSend
| RawSend | |
| Sends data to the LCD display | |
| data | |
| The data byte to send to the LCD | |
| type | |
| A boolean to indicate command type: true to write data, false to write a command | |
| Return | |
RemapCharacter
ScrollDisplay
| ScrollDisplay | |
| Scrolls the display left or right by a number of given positions. | |
| Position | |
| Holds the number of positions to shift the display | |
| Direction | |
| 0 = left, 1 = right | |
| Return | |
Start
| Start | |
| Startup routine required by the hardware device. Automatically clears the display after initialising. | |
| Return | |

