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

From Flowcode Help
Jump to navigationJump to search
 
(6 intermediate revisions by the same user not shown)
Line 16: Line 16:
  
 
==Component Source Code==
 
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LCD_Generic.fcfx FC_Comp_Source_LCD_Generic.fcfx]
  
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LCD_Generic.fcfx FC_Comp_Source_LCD_Generic.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LCD_Generic.fcfx FC_Comp_Source_LCD_Generic.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
  
  
Line 40: Line 48:
  
 
==Examples==
 
==Examples==
 +
 +
 +
 +
 +
 +
  
  
Line 59: Line 73:
 
''<span style="color:red;">No additional examples</span>''
 
''<span style="color:red;">No additional examples</span>''
  
==Macro reference==
 
  
{| 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;" | '''Clear'''
 
|-
 
| colspan="2" | Clears the entire contents 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''
 
|}
 
  
  
{| 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;" | '''PrintString'''
 
|-
 
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro&nbsp;
 
|-
 
|-
 
| 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&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''
 
|}
 
  
  
{| 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;" | '''PrintAscii'''
 
|-
 
| colspan="2" | Takes the ascii value for a character and prints the character&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | character
 
|-
 
| colspan="2" | Holds an ascii value.&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''
 
|}
 
  
  
{| 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;" | '''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;
 
|-
 
|-
 
| 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&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''
 
|}
 
  
  
 +
 +
==Macro reference==
 +
 +
===Clear===
 
{| 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;" | '''Clear'''
 
|-
 
|-
| 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" | Clears the entire contents of the display.&nbsp;
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Index
 
|-
 
| colspan="2" | Values 0 to 7&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d0
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d1
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d2
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d3
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d4
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d5
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d6
 
|-
 
| colspan="2" | &nbsp;
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | d7
 
|-
 
| colspan="2" | &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 186: Line 99:
  
  
 +
===ClearLine===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 204: Line 118:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===Command===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Cursor'''
 
|-
 
| colspan="2" | Moves the cursor on the LCD Display&nbsp;
 
|-
 
|-
 
| 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&nbsp;
 
|-
 
| 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&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''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 245: Line 137:
  
  
 +
===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;" | '''PrintFormattedNumber'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Cursor'''
 
|-
 
|-
| 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" | Moves the cursor on the LCD Display&nbsp;
|-
 
|-
 
| 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&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | Format
 
|-
 
| colspan="2" | 0=Signed, 1=Unsigned&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''
 
|}
 
 
 
 
 
{| 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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Position
+
| width="90%" | x
 
|-
 
|-
| colspan="2" | Holds the number of positions to shift the display&nbsp;
+
| colspan="2" | Set the cursor position in the X plane, 0 is the left most cell&nbsp;
 
|-
 
|-
 
| 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%" | y
 
|-
 
|-
| colspan="2" | 0 = left, 1 = right&nbsp;
+
| colspan="2" | Set the cursor position in the Y plane, 0 is the top most cell&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 291: Line 161:
  
  
 +
===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;" | '''RawSend'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintAscii'''
 
|-
 
|-
| colspan="2" | Sends data to the LCD display&nbsp;
+
| colspan="2" | Takes the ascii value for a character and prints the character&nbsp;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | data
+
| width="90%" | character
 
|-
 
|-
| colspan="2" | The data byte to send to the LCD&nbsp;
+
| colspan="2" | Holds an ascii value.&nbsp;
|-
 
| 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&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 314: Line 180:
  
  
 +
===PrintFloat===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 337: Line 204:
  
  
 +
===PrintFormattedNumber===
 
{| 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;" | '''PrintFormattedNumber'''
 
|-
 
|-
| 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" | 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;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | RemapIdx
+
| width="90%" | Number
 
|-
 
|-
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1)&nbsp;
+
| colspan="2" | Enter the number or variable to print to the LCD&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | SearchCharacter
+
| width="90%" | Format
 
|-
 
|-
| colspan="2" | Character to look for a replace&nbsp;
+
| colspan="2" | 0=Signed, 1=Unsigned&nbsp;
|-
 
| 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.&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 365: Line 228:
  
  
 +
===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;" | '''Start'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
 
|-
 
|-
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising.&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;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | Number
|}
 
 
 
 
 
 
 
 
 
==Property reference==
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Interface mode
 
|-
 
| colspan="2" | Choose between 4-bit mode, 8-bit mode and 8-bit mode using a port instead of individual pins to improve code efficiency.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Data 0 (11 / 7)
 
|-
 
| colspan="2" | Data pin 0 - Connects to Data 4 on the hardware in 4-bit mode or Data 0 in 8-bit mode&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Data 1 (12 / 8)
 
|-
 
| colspan="2" | Data pin 1 - Connects to Data 5 on the hardware in 4-bit mode or Data 1 in 8-bit mode&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Data 2 (13 / 9)
 
|-
 
| colspan="2" | Data pin 2 - Connects to Data 6 on the hardware in 4-bit mode or Data 2 in 8-bit mode&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Data 3 (14 / 10)
 
|-
 
| colspan="2" | Data pin 3 - Connects to Data 7 on the hardware in 4-bit mode or Data 3 in 8-bit mode&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Register Select (4)
 
|-
 
| colspan="2" | Register Select Pin - Informs the display if a command or data is about to be sent.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Enable (6)
 
|-
 
| colspan="2" | Enable pin - Used to synchronise data writes to the display&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Use Read/Write Pin
 
|-
 
| colspan="2" | Set to "true" if the displays R/W pin is not hard wired. Set to "false" if the R/W pin is wired to ground.&nbsp;
 
|-
 
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Display Settings
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Rows
 
|-
 
| colspan="2" | Number of lines of characters the LCD can display.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Columns
 
|-
 
| colspan="2" | Number of characters the LCD can display on a single line.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Remap Characters
 
|-
 
| colspan="2" | Used to allow characters to be replaced with alternate characters. Custom characters or characters from the LCD memory map can be used as replacements. Each replacement consumes two bytes of RAM memory and is applied automatically when printing strings.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Delay Timings
 
|-
 
| colspan="2" | Delay in microseconds used in the display send function. Most displays will work with the default value of 100us. Some displays may need a slightly longer delay, 166us is known to work well.&nbsp;
 
|-
 
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Component Label
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| 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 &nbsp;
 
|-
 
| 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&nbsp;
 
|-
 
| 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&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
 
| width="90%" | Display Background
 
|-
 
| colspan="2" | Colour of the background of the display&nbsp;
 
|}==Macro reference==
 
 
 
{| 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;" | '''Clear'''
 
|-
 
| colspan="2" | Clears the entire contents of the display.&nbsp;
 
 
|-
 
|-
 +
| colspan="2" | Enter the number or variable to print to the LCD&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 499: Line 247:
  
  
 +
===PrintString===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 517: Line 266:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===RAMWrite===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintAscii'''
 
|-
 
| colspan="2" | Takes the ascii value for a character and prints the character&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | character
 
|-
 
| colspan="2" | Holds an ascii value.&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''
 
|}
 
 
 
 
 
{| 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;" | '''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;
 
|-
 
|-
 
| 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&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''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 611: Line 325:
  
  
 +
===RawSend===
 
{| 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;" | '''RawSend'''
 
|-
 
|-
| 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" | Sends data to the LCD display&nbsp;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Line
+
| width="90%" | data
 +
|-
 +
| colspan="2" | The data byte to send to the LCD&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | type
 
|-
 
|-
| colspan="2" | The line to clear, zero being the first (top) line of the display&nbsp;
+
| colspan="2" | A boolean to indicate command type: true to write data, false to write a command&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 629: Line 349:
  
  
 +
===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;" | '''Cursor'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RemapCharacter'''
 
|-
 
|-
| colspan="2" | Moves the cursor on the LCD Display&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;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | x
+
| width="90%" | RemapIdx
 
|-
 
|-
| colspan="2" | Set the cursor position in the X plane, 0 is the left most cell&nbsp;
+
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1)&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | y
+
| width="90%" | SearchCharacter
|-
 
| colspan="2" | Set the cursor position in the Y plane, 0 is the top most cell&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''
 
|}
 
 
 
 
 
{| 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;
 
 
|-
 
|-
 +
| colspan="2" | Character to look for a replace&nbsp;
 
|-
 
|-
 
| 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%" | ReplacementCharacter
 
|-
 
|-
| colspan="2" | Send a defined command to the LCD Screen. See datasheet for supported commands.&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''
 
|}
 
 
 
 
 
{| 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&nbsp;
 
|-
 
|-
 
| 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&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | Format
 
|-
 
| colspan="2" | 0=Signed, 1=Unsigned&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 693: Line 378:
  
  
 +
===ScrollDisplay===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 716: Line 402:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===Start===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawSend'''
 
|-
 
| colspan="2" | Sends data to the LCD display&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | data
 
|-
 
| colspan="2" | The data byte to send to the LCD&nbsp;
 
|-
 
| 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&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''
 
|}
 
 
 
 
 
{| 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;" | '''PrintFloat'''
 
|-
 
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 
| width="90%" | Number
 
|-
 
| colspan="2" | Enter the number or variable to print to the LCD&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | DecimalPlaces
 
|-
 
| colspan="2" | Enter how many decimal places to round up to (1 - 6)&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''
 
|}
 
 
 
 
 
{| 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;" | '''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;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | RemapIdx
 
|-
 
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1)&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | SearchCharacter
 
|-
 
| colspan="2" | Character to look for a replace&nbsp;
 
|-
 
| 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.&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''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 801: Line 414:
 
| 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, Configurable) component

LCD based on the standard hitachi alphanumeric display unit.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples






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-16-icon.png Interface mode
Choose between 4-bit mode, 8-bit mode and 8-bit mode using a port instead of individual pins to improve code efficiency. 
Fc9-type-5-icon.png 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 
Fc9-type-5-icon.png 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 
Fc9-type-5-icon.png 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 
Fc9-type-5-icon.png 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 
Fc9-type-5-icon.png Register Select (4)
Register Select Pin - Informs the display if a command or data is about to be sent. 
Fc9-type-5-icon.png Enable (6)
Enable pin - Used to synchronise data writes to the display 
Fc9-type-7-icon.png Use Read/Write Pin
Set to "true" if the displays R/W pin is not hard wired. Set to "false" if the R/W pin is wired to ground. 
Fc9-conn-icon.png Display Settings
Fc9-type-16-icon.png Rows
Number of lines of characters the LCD can display. 
Fc9-type-16-icon.png Columns
Number of characters the LCD can display on a single line. 
Fc9-type-21-icon.png Remap Characters
Used to allow characters to be replaced with alternate characters. Custom characters or characters from the LCD memory map can be used as replacements. Each replacement consumes two bytes of RAM memory and is applied automatically when printing strings. 
Fc9-type-21-icon.png Delay Timings
Delay in microseconds used in the display send function. Most displays will work with the default value of 100us. Some displays may need a slightly longer delay, 166us is known to work well. 
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
Colour of the font characters drawn on the display 
Fc9-type-1-icon.png Text Background
Colour surrounding the font characters drawn on the display 
Fc9-type-1-icon.png Display Background
Colour of the background of the display