Difference between revisions of "Component: GLCD (ST7920) Parallel (Graphical Monochrome)"

From Flowcode Help
Jump to navigationJump to search
 
(6 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
==GLCD (ST7920) Parallel component==
 
==GLCD (ST7920) Parallel component==
 
Graphical display component designed to work with the ST7920 ype monochrome displays. Transfers data using an 8-bit digital data bus.
 
Graphical display component designed to work with the ST7920 ype monochrome displays. Transfers data using an 8-bit digital data bus.
 
==Component Source Code==
 
 
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_glcd_ST7920.fcfx FC_Comp_Source_glcd_ST7920.fcfx]
 
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_glcd_ST7920.fcfx FC_Comp_Source_glcd_ST7920.fcfx]
 
  
 
==Detailed description==
 
==Detailed description==
  
 +
Information on the Fonts available for this component are available here. [[Component:_ID_1b08885c_807e_4631_930e_a4fef06159dc|GLCD Font Subcomponent]]
  
 +
==Examples==
  
  
Line 38: Line 34:
  
  
 
 
 
 
 
 
 
''No detailed description exists yet for this component''
 
 
==Examples==
 
  
  
Line 58: Line 44:
  
  
 +
''<span style="color:red;">No additional examples</span>''
  
  
Line 70: Line 57:
  
  
 
 
''<span style="color:red;">No additional examples</span>''
 
  
  
Line 79: Line 63:
 
==Macro reference==
 
==Macro reference==
  
 +
===BPlot===
 
{| 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;" | '''ReadFontWidth'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BPlot'''
 +
|-
 +
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y. &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" | &nbsp;
 
|-
 
|-
| colspan="2" | Reads the number of pixel columns used in the selected font&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y1
 
|-
 
|-
 +
| colspan="2" | &nbsp;
 
|-
 
|-
| 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%" | Font
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===ClearDisplay===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearDisplay'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.&nbsp;
| width="90%" | Character
 
 
|-
 
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===DrawCircle===
 
{| 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;" | '''SetFontScaler'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
 +
|-
 +
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X
 +
|-
 +
| colspan="2" | X Coordinate for the center of the circle&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y
 +
|-
 +
| colspan="2" | Y coordinate for the center of the circle&nbsp;
 
|-
 
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Radius
 
|-
 
|-
 +
| colspan="2" | Radius of the circle specified in pixels&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleX
+
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
+
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleY
+
| width="90%" | Solid
 
|-
 
|-
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
+
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&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 125: Line 140:
  
  
 +
===DrawEllipse===
 
{| 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;" | '''DrawEllipse'''
 +
|-
 +
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y&nbsp;
 +
|-
 
|-
 
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X
 
|-
 
|-
 +
| colspan="2" | X Coordinate for the center of the circle&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Number
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Byte or Integer number to send to the display.&nbsp;
+
| colspan="2" | Y coordinate for the center of the circle&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
+
| width="90%" | XRadius
 
|-
 
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
+
| colspan="2" | Radius of the circle on the X axis specified in pixels&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
+
| width="90%" | YRadius
 
|-
 
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
+
| colspan="2" | Radius of the circle on the Y axis specified in pixels&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
+
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&nbsp;
+
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
+
| width="90%" | Solid
 
|-
 
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
+
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&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 163: Line 184:
  
  
 +
===DrawLine===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 196: Line 218:
  
  
 +
===DrawRectangle===
 
{| 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;" | '''Write_Data'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | data
+
| width="90%" | X1
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &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;" | '''DrawEllipse'''
 
|-
 
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y&nbsp;
 
|-
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
+
| width="90%" | Y1
 
|-
 
|-
| colspan="2" | X Coordinate for the center of the circle&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
+
| width="90%" | X2
 
|-
 
|-
| colspan="2" | Y coordinate for the center of the circle&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | XRadius
+
| width="90%" | Y2
 
|-
 
|-
| colspan="2" | Radius of the circle on the X axis specified in pixels&nbsp;
+
| colspan="2" | &nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | YRadius
 
|-
 
| colspan="2" | Radius of the circle on the Y axis specified in pixels&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Transparent
 
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
+
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Solid
 
| width="90%" | Solid
 
|-
 
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
+
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&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''
 +
|}
 +
 
 +
 
 +
===Initialise===
 +
{| 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;" | '''Initialise'''
 +
|-
 +
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&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 257: Line 276:
  
  
 +
===Plot===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 280: Line 300:
  
  
 +
===Print===
 
{| 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;" | '''SetDisplayOrientation'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Print'''
 +
|-
 +
| colspan="2" | This macro prints a string of characters to the Graphical LCD.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Str
 +
|-
 +
| colspan="2" | String of characters to send to the display.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y1
 +
|-
 +
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
 
|-
 
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Font
 
|-
 
|-
 +
| colspan="2" | Selects which Font to use Range: 0 to Font Count&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Orientation
+
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
+
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&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 298: Line 339:
  
  
 +
===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;" | '''BPlot'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
 +
|-
 +
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&nbsp;
 +
|-
 
|-
 
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y. &nbsp;
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Number
 
|-
 
|-
 +
| colspan="2" | Byte or Integer number to send to the display.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
+
| width="90%" | X
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
+
| width="90%" | Y
 +
|-
 +
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Font
 +
|-
 +
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&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 321: Line 378:
  
  
 +
===ReadFontStat===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 344: Line 402:
  
  
 +
===ReadFontWidth===
 
{| 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;" | '''Print'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontWidth'''
 
|-
 
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD.&nbsp;
+
| colspan="2" | Reads the number of pixel columns used in the selected font&nbsp;
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | Str
 
|-
 
| colspan="2" | String of characters to send to the display.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X1
 
|-
 
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y1
 
 
|-
 
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Font
 
| width="90%" | Font
 
|-
 
|-
| colspan="2" | Selects which Font to use Range: 0 to Font Count&nbsp;
+
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
+
| width="90%" | Character
 
|-
 
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
+
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&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-u8-icon.png]] - BYTE
| 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;" | '''ClearDisplay'''
 
|-
 
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.&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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===SetBackgroundColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 413: Line 445:
  
  
 +
===SetDisplayOrientation===
 
{| 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;" | '''DrawCircle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDisplayOrientation'''
 
|-
 
|-
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&nbsp;
+
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&nbsp;
 
|-
 
|-
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X
 
|-
 
| colspan="2" | X Coordinate for the center of the circle&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y
 
|-
 
| colspan="2" | Y coordinate for the center of the circle&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Radius
 
|-
 
| colspan="2" | Radius of the circle specified in pixels&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
+
| width="90%" | Orientation
 
|-
 
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
+
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Solid
 
|-
 
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&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 451: Line 464:
  
  
 +
===SetFontScaler===
 
{| 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;" | '''Write_Command'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
 +
|-
 +
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&nbsp;
 +
|-
 
|-
 
|-
| colspan="2" | &nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | ScaleX
 
|-
 
|-
 +
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Command
+
| width="90%" | ScaleY
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Sets the vertical scale of the font, default 1&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 469: Line 488:
  
  
 +
===SetForegroundColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 487: Line 507:
  
  
 +
===Write_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;" | '''DrawRectangle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write_Command'''
|-
 
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X1
 
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y1
 
 
|-
 
|-
| colspan="2" | &nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
|-
+
| width="90%" | Command
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X2
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y2
 
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Transparent
 
|-
 
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Solid
 
|-
 
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&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 530: Line 526:
  
  
 +
===Write_Data===
 
{| 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;" | '''Initialise'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write_Data'''
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 
|-
 
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | data
 
|-
 
|-
 +
| 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
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  
Line 708: Line 708:
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation Mode
+
| 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-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Line 716: Line 726:
 
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
 
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
 
|}
 
|}
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_ST7920.fcfx FC_Comp_Source_GLCD_ST7920.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_ST7920.fcfx FC_Comp_Source_GLCD_ST7920.fcfx]

Latest revision as of 14:29, 1 March 2024

Author Matrix Ltd
Version 1.4
Category Graphical Monochrome


GLCD (ST7920) Parallel component

Graphical display component designed to work with the ST7920 ype monochrome displays. Transfers data using an 8-bit digital data bus.

Detailed description

Information on the Fonts available for this component are available here. GLCD Font Subcomponent

Examples

No additional examples









Macro reference

BPlot

Fc9-comp-macro.png BPlot
Sets a pixel with the current background colour at pixel location X, Y.  
Fc9-u16-icon.png - UINT X1
 
Fc9-u16-icon.png - UINT Y1
 
Fc9-void-icon.png - VOID Return


ClearDisplay

Fc9-comp-macro.png ClearDisplay
This macro clears the display of any previous output by overwriting the entire display with the background colour. 
Fc9-void-icon.png - VOID Return


DrawCircle

Fc9-comp-macro.png DrawCircle
Draws a circle object on the display with the center of the circle at the location X,Y 
Fc9-u16-icon.png - UINT X
X Coordinate for the center of the circle 
Fc9-u16-icon.png - UINT Y
Y coordinate for the center of the circle 
Fc9-u16-icon.png - UINT Radius
Radius of the circle specified in pixels 
Fc9-u8-icon.png - BYTE Transparent
0=Fill inside circle using background colour / 1=Draw outer circle only 
Fc9-u8-icon.png - BYTE Solid
0=Use Transparent Setting / 1=Fill with foreground colour 
Fc9-void-icon.png - VOID Return


DrawEllipse

Fc9-comp-macro.png DrawEllipse
Draws an ellipse object on the display with the center of the ellipse at the location X,Y 
Fc9-u16-icon.png - UINT X
X Coordinate for the center of the circle 
Fc9-u16-icon.png - UINT Y
Y coordinate for the center of the circle 
Fc9-u16-icon.png - UINT XRadius
Radius of the circle on the X axis specified in pixels 
Fc9-u16-icon.png - UINT YRadius
Radius of the circle on the Y axis specified in pixels 
Fc9-u8-icon.png - BYTE Transparent
0=Fill inside circle using background colour / 1=Draw outer circle only 
Fc9-u8-icon.png - BYTE Solid
0=Use Transparent Setting / 1=Fill with foreground colour 
Fc9-void-icon.png - VOID Return


DrawLine

Fc9-comp-macro.png DrawLine
Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2. 
Fc9-u16-icon.png - UINT X1
 
Fc9-u16-icon.png - UINT Y1
 
Fc9-u16-icon.png - UINT X2
 
Fc9-u16-icon.png - UINT Y2
 
Fc9-void-icon.png - VOID Return


DrawRectangle

Fc9-comp-macro.png DrawRectangle
Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2 
Fc9-u16-icon.png - UINT X1
 
Fc9-u16-icon.png - UINT Y1
 
Fc9-u16-icon.png - UINT X2
 
Fc9-u16-icon.png - UINT Y2
 
Fc9-u8-icon.png - BYTE Transparent
Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data. 
Fc9-u8-icon.png - BYTE Solid
Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
Fc9-void-icon.png - VOID Return


Initialise

Fc9-comp-macro.png Initialise
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
Fc9-void-icon.png - VOID Return


Plot

Fc9-comp-macro.png Plot
Sets a pixel with the current foreground colour at pixel location X, Y.  
Fc9-u16-icon.png - UINT X1
 
Fc9-u16-icon.png - UINT Y1
 
Fc9-void-icon.png - VOID Return


Print

Fc9-comp-macro.png Print
This macro prints a string of characters to the Graphical LCD. 
Fc9-string-icon.png - STRING Str
String of characters to send to the display. 
Fc9-u16-icon.png - UINT X1
X pixel coordinate to set the output string position. 
Fc9-u16-icon.png - UINT Y1
Y pixel coordinate to set the output string position. 
Fc9-u8-icon.png - BYTE Font
Selects which Font to use Range: 0 to Font Count 
Fc9-u8-icon.png - BYTE Transparent
Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn. 
Fc9-void-icon.png - VOID Return


PrintNumber

Fc9-comp-macro.png PrintNumber
This macro prints a decimal number to the Graphical LCD. 
Fc9-s16-icon.png - INT Number
Byte or Integer number to send to the display. 
Fc9-u16-icon.png - UINT X
X pixel coordinate to set the output string position. 
Fc9-u16-icon.png - UINT Y
Y pixel coordinate to set the output string position. 
Fc9-u8-icon.png - BYTE Font
Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes 
Fc9-u8-icon.png - BYTE Transparent
Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn. 
Fc9-void-icon.png - VOID Return


ReadFontStat

Fc9-comp-macro.png ReadFontStat
Gets a stat from the selected embedded ASCII font data. 
Fc9-u8-icon.png - BYTE Font
Font selection range: 0 to (NumFonts - 1) 
Fc9-u8-icon.png - BYTE Index
0=SpaceWidth, 1=PixelHeight 
Fc9-u8-icon.png - BYTE Return


ReadFontWidth

Fc9-comp-macro.png ReadFontWidth
Reads the number of pixel columns used in the selected font 
Fc9-u8-icon.png - BYTE Font
Font selection range: 0 to (NumFonts - 1) 
Fc9-u8-icon.png - BYTE Character
ASCII character to get the pixel width e.g. 'A' or 65 
Fc9-u8-icon.png - BYTE Return


SetBackgroundColour

Fc9-comp-macro.png SetBackgroundColour
Specifies the colour of the foreground 
Fc9-u8-icon.png - BYTE PixelColour
0=White, 1=Black 
Fc9-void-icon.png - VOID Return


SetDisplayOrientation

Fc9-comp-macro.png SetDisplayOrientation
Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0. 
Fc9-u8-icon.png - BYTE Orientation
0=Default, 1=90°CW, 2=180°CW, 3=270°CW 
Fc9-void-icon.png - VOID Return


SetFontScaler

Fc9-comp-macro.png SetFontScaler
Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y. 
Fc9-u8-icon.png - BYTE ScaleX
Sets the horizontal scale of the font, default 1 
Fc9-u8-icon.png - BYTE ScaleY
Sets the vertical scale of the font, default 1 
Fc9-void-icon.png - VOID Return


SetForegroundColour

Fc9-comp-macro.png SetForegroundColour
Specifies the colour of the foreground.  
Fc9-u8-icon.png - BYTE PixelColour
0=White, 1=Black 
Fc9-void-icon.png - VOID Return


Write_Command

Fc9-comp-macro.png Write_Command
 
Fc9-u8-icon.png - BYTE Command
 
Fc9-void-icon.png - VOID Return


Write_Data

Fc9-comp-macro.png Write_Data
 
Fc9-u8-icon.png - BYTE data
 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Dimensions
Fc9-type-14-icon.png Pixel Width
Width of gLCD canvas measured in pixels. 
Fc9-type-14-icon.png Pixel Height
Heigt of gLCD canvas measured in pixels. 
Fc9-conn-icon.png Colour
Fc9-type-7-icon.png Monochrome
Specifies if the display is capable of colour or monochrome only. 
Fc9-type-1-icon.png Foreground Color
Specifies the initial foreground color. 
Fc9-type-1-icon.png Background Color
Specifies the initial background color. 
Fc9-conn-icon.png Bit Depth
Fc9-type-14-icon.png Color Bit Depth
Number of bits of colour depth available on the display 
Fc9-type-14-icon.png Red Bit Depth
Number of bits of Red colour depth on the display 
Fc9-type-14-icon.png Green Bit Depth
Number of bits of Green colour depth on the display 
Fc9-type-14-icon.png Blue Bit Depth
Number of bits of Blue colour depth on the display 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png Data Mode
 
Fc9-type-5-icon.png Data0
Data Pin 0 
Fc9-type-5-icon.png Data1
Data Pin 1 
Fc9-type-5-icon.png Data2
Data Pin 2 
Fc9-type-5-icon.png Data3
Data Pin 3 
Fc9-type-5-icon.png Data4
Data Pin 4 
Fc9-type-5-icon.png Data5
Data Pin 5 
Fc9-type-5-icon.png Data6
Data Pin 6 
Fc9-type-5-icon.png Data7
Data Pin 7 
Fc9-type-5-icon.png Reset
Reset pin 
Fc9-type-5-icon.png RS
Address pin to tell the display if we are sending commands or data 
Fc9-type-5-icon.png Enable
Enable pin used to clock data into the display 
Fc9-type-5-icon.png RW
Read Write pin to set the display data mode 
Fc9-conn-icon.png Fonts
Fc9-type-16-icon.png Font Count
Specifies the number of fonts available to use on the display. 
Fc9-conn-icon.png Font 0
Fc9-type-16-icon.png Font
Font picker to decide which font to use on your display. 
Fc9-type-16-icon.png Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
Fc9-type-16-icon.png Space Width
Sets the number of horizontal pixels used to represent a space character. 
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-16-icon.png Physical Orientation
Rotates the simulated canvas to match the orientation of real world hardware. 

Component Source Code

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

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