Difference between revisions of "Component: LCD (Generic, 20x4) (Alphanumeric)"

From Flowcode Help
Jump to navigationJump to search
 
(7 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
==Component Source Code==
 
==Component Source Code==
  
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_LCD_4X20.fcfx FC_Comp_Source_LCD_4X20.fcfx]
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LCD_4X20.fcfx FC_Comp_Source_LCD_4X20.fcfx]
 +
 
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LCD_4X20.fcfx FC_Comp_Source_LCD_4X20.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 30: Line 40:
  
 
==Examples==
 
==Examples==
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 52: Line 70:
 
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.
 
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.
 
{{Fcfile|LCDDemo.fcfx|LCD Demo}}
 
{{Fcfile|LCDDemo.fcfx|LCD Demo}}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
 
==Macro reference==
 
==Macro reference==
  
 +
===Clear===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 68: Line 97:
  
  
 +
===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;" | '''PrintString'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearLine'''
 
|-
 
|-
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
+
| 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-string-icon.png]] - STRING
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Text
+
| width="90%" | Line
 
|-
 
|-
| colspan="2" | Enter the text or variable to print to the LCD 
+
| 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 86: Line 116:
  
  
 +
===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;" | '''PrintAscii'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Command'''
 
|-
 
|-
| colspan="2" | Takes the ascii value for a character and prints the character 
+
| 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%" | character
+
| width="90%" | instruction
 
|-
 
|-
| colspan="2" | Holds an ascii value. 
+
| 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 104: Line 135:
  
  
 +
===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;" | '''PrintNumber'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Cursor'''
 +
|-
 +
| colspan="2" | Moves the cursor on the LCD Display 
 +
|-
 
|-
 
|-
| 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-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-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Number
+
| width="90%" | y
 
|-
 
|-
| colspan="2" | Enter the number or variable to print to the LCD 
+
| 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 122: Line 159:
  
  
 +
===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;" | '''RAMWrite'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintAscii'''
 
|-
 
|-
| 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 
+
| 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%" | Index
+
| width="90%" | character
 
|-
 
|-
| colspan="2" | Values 0 to 7 
+
| colspan="2" | Holds an ascii value. 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | d0
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===PrintFloat===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" |  
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintFloat'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places. 
| width="90%" | d1
 
 
|-
 
|-
| colspan="2" |  
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | d2
+
| width="90%" | Number
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Enter the number or variable to print to the LCD 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d3
+
| width="90%" | DecimalPlaces
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Enter how many decimal places to round up to (1 - 6) 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | d4
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===PrintFormattedNumber===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" |  
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintFormattedNumber'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| 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="90%" | d5
 
 
|-
 
|-
| colspan="2" |  
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | d6
+
| width="90%" | Number
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Enter the number or variable to print to the LCD 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | d7
+
| 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 180: Line 226:
  
  
 +
===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;" | '''ClearLine'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
 
|-
 
|-
| 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. 
+
| 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-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Line
+
| width="90%" | Number
 
|-
 
|-
| colspan="2" | The line to clear, zero being the first (top) line of the display 
+
| 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 198: Line 245:
  
  
 +
===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;" | '''Cursor'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintString'''
 
|-
 
|-
| colspan="2" | Moves the cursor on the LCD Display 
+
| 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-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | x
+
| width="90%" | Text
 
|-
 
|-
| colspan="2" | Set the cursor position in the X plane, 0 is the left most cell 
+
| colspan="2" | Enter the text or variable to print to the LCD 
|-
 
| 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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 221: Line 264:
  
  
 +
===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;" | '''Command'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RAMWrite'''
 
|-
 
|-
| 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. 
+
| 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%" | instruction
+
| width="90%" | Index
 
|-
 
|-
| colspan="2" | Send a defined command to the LCD Screen. See datasheet for supported commands. 
+
| colspan="2" | Values 0 to 7 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | d0
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" |  
| 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-u8-icon.png]] - BYTE
 +
| width="90%" | d1
 
|-
 
|-
 +
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Number
+
| width="90%" | d2
 
|-
 
|-
| colspan="2" | Enter the number or variable to print to the LCD 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Format
+
| width="90%" | d3
 
|-
 
|-
| colspan="2" | 0=Signed, 1=Unsigned 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | d4
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" |  
| 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%" | 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%" | Position
+
| width="90%" | d6
 
|-
 
|-
| colspan="2" | Holds the number of positions to shift the display 
+
| colspan="2" |  
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
+
| width="90%" | d7
 
|-
 
|-
| colspan="2" | 0 = left, 1 = right 
+
| 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 285: Line 323:
  
  
 +
===RawSend===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 308: Line 347:
  
  
 +
===RemapCharacter===
 
{| 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;" | '''PrintFloat'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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. 
 +
|-
 
|-
 
|-
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places. 
+
| 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-f32-icon.png]] - FLOAT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Number
+
| width="90%" | SearchCharacter
 
|-
 
|-
| colspan="2" | Enter the number or variable to print to the LCD 
+
| colspan="2" | Character to look for a replace 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | DecimalPlaces
+
| width="90%" | ReplacementCharacter
 
|-
 
|-
| colspan="2" | Enter how many decimal places to round up to (1 - 6) 
+
| 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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 331: Line 376:
  
  
 +
===ScrollDisplay===
 
{| 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;" | '''RemapCharacter'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ScrollDisplay'''
 
|-
 
|-
| 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. 
+
| 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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | RemapIdx
+
| width="90%" | Position
 
|-
 
|-
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1) 
+
| colspan="2" | Holds the number of positions to shift the display 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | SearchCharacter
+
| width="90%" | Direction
 
|-
 
|-
| colspan="2" | Character to look for a replace 
+
| colspan="2" | 0 = left, 1 = right 
|-
 
| 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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 359: Line 400:
  
  
 +
===Start===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 370: Line 412:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  

Latest revision as of 13:11, 7 February 2023

Author Matrix Ltd
Version 1.1
Category Alphanumeric


LCD (Generic, 20x4) component

LCD based on the standard 4 x 20 character unit.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

Connections

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.


LCDConns.jpg


Displaying a numeric value

The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change. FC6 Icon.png LCD Demo






Macro reference

Clear

Fc9-comp-macro.png Clear
Clears the entire contents of the display. 
Fc9-void-icon.png - VOID Return


ClearLine

Fc9-comp-macro.png 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. 
Fc9-u8-icon.png - BYTE Line
The line to clear, zero being the first (top) line of the display 
Fc9-void-icon.png - VOID Return


Command

Fc9-comp-macro.png Command
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. 
Fc9-u8-icon.png - BYTE instruction
Send a defined command to the LCD Screen. See datasheet for supported commands. 
Fc9-void-icon.png - VOID Return


Cursor

Fc9-comp-macro.png Cursor
Moves the cursor on the LCD Display 
Fc9-u8-icon.png - BYTE x
Set the cursor position in the X plane, 0 is the left most cell 
Fc9-u8-icon.png - BYTE y
Set the cursor position in the Y plane, 0 is the top most cell 
Fc9-void-icon.png - VOID Return


PrintAscii

Fc9-comp-macro.png PrintAscii
Takes the ascii value for a character and prints the character 
Fc9-u8-icon.png - BYTE character
Holds an ascii value. 
Fc9-void-icon.png - VOID Return


PrintFloat

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


PrintFormattedNumber

Fc9-comp-macro.png 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 
Fc9-u32-icon.png - ULONG Number
Enter the number or variable to print to the LCD 
Fc9-bool-icon.png - BOOL Format
0=Signed, 1=Unsigned 
Fc9-void-icon.png - VOID Return


PrintNumber

Fc9-comp-macro.png PrintNumber
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 
Fc9-s16-icon.png - INT Number
Enter the number or variable to print to the LCD 
Fc9-void-icon.png - VOID Return


PrintString

Fc9-comp-macro.png PrintString
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
Fc9-string-icon.png - STRING Text
Enter the text or variable to print to the LCD 
Fc9-void-icon.png - VOID Return


RAMWrite

Fc9-comp-macro.png 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 
Fc9-u8-icon.png - BYTE Index
Values 0 to 7 
Fc9-u8-icon.png - BYTE d0
 
Fc9-u8-icon.png - BYTE d1
 
Fc9-u8-icon.png - BYTE d2
 
Fc9-u8-icon.png - BYTE d3
 
Fc9-u8-icon.png - BYTE d4
 
Fc9-u8-icon.png - BYTE d5
 
Fc9-u8-icon.png - BYTE d6
 
Fc9-u8-icon.png - BYTE d7
 
Fc9-void-icon.png - VOID Return


RawSend

Fc9-comp-macro.png RawSend
Sends data to the LCD display 
Fc9-u8-icon.png - BYTE data
The data byte to send to the LCD 
Fc9-bool-icon.png - BOOL type
A boolean to indicate command type: true to write data, false to write a command 
Fc9-void-icon.png - VOID Return


RemapCharacter

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


ScrollDisplay

Fc9-comp-macro.png ScrollDisplay
Scrolls the display left or right by a number of given positions. 
Fc9-u8-icon.png - BYTE Position
Holds the number of positions to shift the display 
Fc9-u8-icon.png - BYTE Direction
0 = left, 1 = right 
Fc9-void-icon.png - VOID Return


Start

Fc9-comp-macro.png Start
Startup routine required by the hardware device. Automatically clears the display after initialising. 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Connections
Fc9-type-5-icon.png Data 0 (11)
 
Fc9-type-5-icon.png Data 1 (12)
 
Fc9-type-5-icon.png Data 2 (13)
 
Fc9-type-5-icon.png Data 3 (14)
 
Fc9-type-5-icon.png Register Select (4)
 
Fc9-type-5-icon.png Enable (6)
 
Fc9-conn-icon.png Simulation
Fc9-type-16-icon.png Component Label
 
Fc9-type-15-icon.png Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Fc9-type-1-icon.png Text Colour
Specifies the initial foreground color. 
Fc9-type-1-icon.png Text Background
Colour surrounding the font characters drawn on the display 
Fc9-type-1-icon.png Background Colour
Specifies the initial background color.