Jump to content

Component: LCD (BL0169) (E-blocks 2): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(11 intermediate revisions by 3 users not shown)
Line 15: Line 15:
LCD component to drive the E-blocks 2 BL0169 LCD board. Provides a 4 x 20 character alphanumeric display.
LCD component to drive the E-blocks 2 BL0169 LCD board. Provides a 4 x 20 character alphanumeric display.


==Component Source Code==
==Version information==


Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/EBlocks2_LCD_BL0169.fcfx FC_Comp_Source_temp/EBlocks2_LCD_BL0169.fcfx]
Library Version, Component Version, Date, Author, Info
4, 1.0, 08-05-25, BR, Added autodetect port on Ev_PostInitialise


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/EBlocks2_LCD_BL0169.fcfx FC_Comp_Source_temp/EBlocks2_LCD_BL0169.fcfx]


==Detailed description==
==Detailed description==
Line 37: Line 37:
==Examples==
==Examples==


Example showing the basic function of BL0169 E-blocks 2 alphanumeric Display.


 
{{Fcfile|BL0169LCDDemo.fcfx|BL0169 LCD Demo}}
 
 
 
 
 
 
 
 
 
''<span style="color:red;">No additional examples</span>''
 
 
 
 
 
 
 


==Macro reference==
==Macro reference==


===Clear===
===Clear===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Clear'''
| width="90%" class="mtx-class-macrohead" | '''Clear'''
|-
|-
| colspan="2" | Clears the entire contents of the display.&nbsp;
| colspan="2" | Clears the entire contents of the display.&nbsp;
Line 74: Line 58:


===ClearLine===
===ClearLine===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearLine'''
| 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.&nbsp;
| 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.&nbsp;
Line 86: Line 70:
|-
|-
| colspan="2" | The line to clear, zero being the first (top) line of the display&nbsp;
| colspan="2" | The line to clear, zero being the first (top) line of the display&nbsp;
|-
| 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="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;" | '''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.&nbsp;
|-
|-
| 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.&nbsp;
|-
|-
| 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 112: Line 77:


===Cursor===
===Cursor===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Cursor'''
| width="90%" class="mtx-class-macrohead" | '''Cursor'''
|-
|-
| colspan="2" | Moves the cursor on the LCD Display&nbsp;
| colspan="2" | Moves the cursor on the LCD Display&nbsp;
Line 136: Line 101:


===PrintAscii===
===PrintAscii===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintAscii'''
| width="90%" class="mtx-class-macrohead" | '''PrintAscii'''
|-
|-
| colspan="2" | Takes the ascii value for a character and prints the character&nbsp;
| colspan="2" | Takes the ascii value for a character and prints the character&nbsp;
Line 155: Line 120:


===PrintFloat===
===PrintFloat===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintFloat'''
| width="90%" class="mtx-class-macrohead" | '''PrintFloat'''
|-
|-
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places.&nbsp;
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places.&nbsp;
Line 179: Line 144:


===PrintFormattedNumber===
===PrintFormattedNumber===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintFormattedNumber'''
| 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&nbsp;
| 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&nbsp;
Line 203: Line 168:


===PrintNumber===
===PrintNumber===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
| 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&nbsp;
| colspan="2" | Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767&nbsp;
Line 222: Line 187:


===PrintString===
===PrintString===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintString'''
| 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&nbsp;
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro&nbsp;
Line 241: Line 206:


===RAMWrite===
===RAMWrite===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RAMWrite'''
| 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&nbsp;
| 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&nbsp;
Line 300: Line 265:


===RawSend===
===RawSend===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawSend'''
| width="90%" class="mtx-class-macrohead" | '''RawSend'''
|-
|-
| colspan="2" | Sends data to the LCD display&nbsp;
| colspan="2" | Sends data to the LCD display&nbsp;
Line 324: Line 289:


===RemapCharacter===
===RemapCharacter===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RemapCharacter'''
| 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.&nbsp;
| 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.&nbsp;
Line 346: Line 311:
|-
|-
| colspan="2" | New character value to use in place of the search character.&nbsp;
| colspan="2" | New character value to use in place of the search character.&nbsp;
|-
| 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.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Position
|-
| colspan="2" | Holds the number of positions to shift the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
|-
| colspan="2" | 0 = left, 1 = right&nbsp;
|-
|-
| 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 377: Line 318:


===Start===
===Start===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start'''
| width="90%" class="mtx-class-macrohead" | '''Start'''
|-
|-
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising.&nbsp;
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising.&nbsp;
Line 388: Line 329:
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
Line 430: Line 369:
| colspan="2" | Enable pin - Used to synchronise data writes to the display&nbsp;
| colspan="2" | Enable pin - Used to synchronise data writes to the display&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-
Line 464: Line 403:
| colspan="2" | Colour of the background of the display&nbsp;
| colspan="2" | Colour of the background of the display&nbsp;
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EB_LCD_BL0169.fcfx FC_Comp_Source_EB_LCD_BL0169.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EB_LCD_BL0169.fcfx FC_Comp_Source_EB_LCD_BL0169.fcfx]

Latest revision as of 14:37, 13 July 2026

Author Matrix TSL
Version 1.0
Category E-blocks 2


LCD component

LCD component to drive the E-blocks 2 BL0169 LCD board. Provides a 4 x 20 character alphanumeric display.

Version information

Library Version, Component Version, Date, Author, Info
4, 1.0, 08-05-25, BR, Added autodetect port on Ev_PostInitialise


Detailed description

No detailed description exists yet for this component

Examples

Example showing the basic function of BL0169 E-blocks 2 alphanumeric Display.

BL0169 LCD Demo

Macro reference

Clear

Clear
Clears the entire contents of the display. 
- VOID Return


ClearLine

ClearLine
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. 
- BYTE Line
The line to clear, zero being the first (top) line of the display 
- VOID Return


Cursor

Cursor
Moves the cursor on the LCD Display 
- BYTE x
Set the cursor position in the X plane, 0 is the left most cell 
- BYTE y
Set the cursor position in the Y plane, 0 is the top most cell 
- VOID Return


PrintAscii

PrintAscii
Takes the ascii value for a character and prints the character 
- BYTE character
Holds an ascii value. 
- VOID Return


PrintFloat

PrintFloat
Print a Float number rounded up to a specified amount of decimal places. 
- FLOAT Number
Enter the number or variable to print to the LCD 
- BYTE DecimalPlaces
Enter how many decimal places to round up to (1 - 6) 
- VOID Return


PrintFormattedNumber

PrintFormattedNumber
Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295 
- ULONG Number
Enter the number or variable to print to the LCD 
- BOOL Format
0=Signed, 1=Unsigned 
- VOID Return


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

RAMWrite
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory 
- BYTE Index
Values 0 to 7 
- BYTE d0
 
- BYTE d1
 
- BYTE d2
 
- BYTE d3
 
- BYTE d4
 
- BYTE d5
 
- BYTE d6
 
- BYTE d7
 
- VOID Return


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

RemapCharacter
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. 
- BYTE RemapIdx
Remap Index, Range: 0 to (Remap Characters - 1) 
- BYTE SearchCharacter
Character to look for a replace 
- BYTE ReplacementCharacter
New character value to use in place of the search character. 
- VOID Return


Start

Start
Startup routine required by the hardware device. Automatically clears the display after initialising. 
- VOID Return


Property reference

Properties
Data 0 (11 / 7)
Data pin 0 - Connects to Data 4 on the hardware in 4-bit mode or Data 0 in 8-bit mode 
Data 1 (12 / 8)
Data pin 1 - Connects to Data 5 on the hardware in 4-bit mode or Data 1 in 8-bit mode 
Data 2 (13 / 9)
Data pin 2 - Connects to Data 6 on the hardware in 4-bit mode or Data 2 in 8-bit mode 
Data 3 (14 / 10)
Data pin 3 - Connects to Data 7 on the hardware in 4-bit mode or Data 3 in 8-bit mode 
Register Select (4)
Register Select Pin - Informs the display if a command or data is about to be sent. 
Enable (6)
Enable pin - Used to synchronise data writes to the display 
Simulation
Component Label
 
User Label Text
Text to display 
Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Text Colour
Colour of the font characters drawn on the display 
Text Background
Colour surrounding the font characters drawn on the display 
Display Background
Colour of the background of the display 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_EB_LCD_BL0169.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_EB_LCD_BL0169.fcfx