Difference between revisions of "Component: GLCD (SH1106) I2C (Graphical Monochrome)"

From Flowcode Help
Jump to navigationJump to search
 
(10 intermediate revisions by 2 users not shown)
Line 15: Line 15:
 
Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 2-wire I2C interface.
 
Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 2-wire I2C interface.
  
==Component Source Code==
+
==Version information==
 
 
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
 
  
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
+
Library Version, Component Version, Date, Author, Info
 +
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
 +
13, 1.0, 18-06-25, MW, Updated fonts to new type and added SetContrast function
  
 
==Detailed description==
 
==Detailed description==
  
 +
Click here for an [[GLCD|in depth guide to graphical LCDs]] using Flowcode.
  
 +
Information on the Fonts available for this component are available here. [[Component:_ID_1b08885c_807e_4631_930e_a4fef06159dc|GLCD Font Subcomponent]]
  
 +
==Examples==
  
  
Line 36: Line 39:
  
  
 
 
 
 
 
 
 
 
 
''No detailed description exists yet for this component''
 
 
==Examples==
 
  
  
Line 61: Line 52:
  
  
 +
''<span style="color:red;">No additional examples</span>''
  
  
Line 71: Line 63:
  
  
 
''<span style="color:red;">No additional examples</span>''
 
  
  
Line 81: Line 71:
 
==Macro reference==
 
==Macro reference==
  
===ReadFontWidth===
+
===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''
 
|}
 
|}
  
  
===SetFontScaler===
+
===DrawArc===
 
{| 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;" | '''DrawArc'''
 +
|-
 +
| colspan="2" | Draws an arc either as an outline or as a filled object.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X
 +
|-
 +
| colspan="2" | Center X coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y
 +
|-
 +
| colspan="2" | Center Y coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Radius
 +
|-
 +
| colspan="2" | Radius, distance of edge from the centre coordinates&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 +
| width="90%" | StartAngle
 +
|-
 +
| colspan="2" | Angle to start drawing, in degrees&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 +
| width="90%" | EndAngle
 +
|-
 +
| colspan="2" | Angle to end drawing, in degrees&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%" | Resolution
 
|-
 
|-
 +
| colspan="2" | Number of lines to draw from the center to the outer edge, 0=Fill&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" | Chooses the transparency - 0 = Arc contains background colour, 1 = Arc 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%" | ScaleY
+
| width="90%" | Solid
 
|-
 
|-
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
+
| colspan="2" | Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc 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 129: Line 163:
  
  
===PrintNumber===
+
===DrawBezier===
 
{| 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;" | '''DrawBezier'''
 +
|-
 +
| colspan="2" | Draws a quadratic Bezier curve with the current foreground colour from pixel location X0, Y0 to pixel location X2, Y2 using control point CX, CY.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X0
 +
|-
 +
| colspan="2" | Start X coordinate&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%" | Y0
 
|-
 
|-
 +
| colspan="2" | Start Y coordinate&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%" | CX
 
|-
 
|-
| colspan="2" | Byte or Integer number to send to the display.&nbsp;
+
| colspan="2" | Control point X coordinate&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%" | CY
 
|-
 
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
+
| colspan="2" | Control point Y coordinate&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 pixel coordinate to set the output string position.&nbsp;
+
| colspan="2" | End X coordinate&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Font
+
| width="90%" | Y2
 
|-
 
|-
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&nbsp;
+
| colspan="2" | End Y coordinate&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Transparent
+
| width="90%" | Resolution
 
|-
 
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
+
| colspan="2" | Number of segments to approximate the curve, 0 chooses an automatic value based on curve size.&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 168: Line 212:
  
  
===DrawLine===
+
===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;" | '''DrawLine'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
 
|-
 
|-
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&nbsp;
+
| 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="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
+
| width="90%" | X
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | X 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%" | Y1
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | &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%" | X2
+
| width="90%" | Radius
 +
|-
 +
| colspan="2" | Radius of the circle specified in pixels&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y2
+
| width="90%" | Solid
 
|-
 
|-
| colspan="2" | &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 246: Line 295:
  
  
===SetDisplayOrientation===
+
===DrawLine===
 
{| 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;" | '''DrawLine'''
 +
|-
 +
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y1
 +
|-
 +
| colspan="2" | &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%" | X2
 
|-
 
|-
 +
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Orientation
+
| width="90%" | Y2
 
|-
 
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
+
| 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 265: Line 329:
  
  
===BPlot===
+
===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;" | '''BPlot'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
 
|-
 
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y.&nbsp;
+
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 283: Line 347:
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 +
|-
 +
| 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;
 +
|-
 +
| 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 289: Line 373:
  
  
===ReadFontStat===
+
===DrawRoundedRectangle===
 
{| 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;" | '''ReadFontStat'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRoundedRectangle'''
 +
|-
 +
| colspan="2" | Draws a rectangle with rounded corners&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| 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-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" | Gets a stat from the selected embedded ASCII font data.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Radius
 
|-
 
|-
 +
| colspan="2" | &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" | Font selection range: 0 to (NumFonts - 1)&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%" | Index
+
| 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="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;
 
|-
 
|-
| colspan="2" | 0=SpaceWidth, 1=PixelHeight&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''
 
|}
 
|}
Line 352: Line 475:
  
  
===ClearDisplay===
+
===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;" | '''ClearDisplay'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
 +
|-
 +
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&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="90%" | X
 +
|-
 +
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| 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;
 
|-
 
|-
| 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" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Transparent
 
|-
 
|-
 +
| 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 366: Line 514:
  
  
===SetBackgroundColour===
+
===ReadFontStat===
 
{| 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;" | '''SetBackgroundColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontStat'''
 +
|-
 +
| colspan="2" | Gets a stat from the selected embedded ASCII font data.&nbsp;
 +
|-
 
|-
 
|-
| colspan="2" | Specifies the colour of the foreground&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Font
 
|-
 
|-
 +
| 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%" | PixelColour
+
| width="90%" | Index
 
|-
 
|-
| colspan="2" | 0=White, 1=Black&nbsp;
+
| colspan="2" | 0=SpaceWidth, 1=PixelHeight&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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===DrawCircle===
+
===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;" | '''DrawCircle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontWidth'''
 
|-
 
|-
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X
+
| width="90%" | Font
 
|-
 
|-
| colspan="2" | X Coordinate for the center of the circle&nbsp;
+
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y
+
| width="90%" | Character
 
|-
 
|-
| colspan="2" | Y coordinate for the center of the circle&nbsp;
+
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Radius
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===SetBackgroundColour===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Radius of the circle specified in pixels&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBackgroundColour'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Specifies the colour of the foreground&nbsp;
| width="90%" | Transparent
 
 
|-
 
|-
| 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%" | Solid
+
| width="90%" | PixelColour
 
|-
 
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
+
| colspan="2" | 0=White, 1=Black&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 424: Line 581:
  
  
===Write_Command===
+
===SetContrast===
 
{| 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;" | '''SetContrast'''
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Set the contrast level from 1 to 255&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%" | ContrastLevel
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
Line 443: Line 600:
  
  
===SetForegroundColour===
+
===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;" | '''SetForegroundColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDisplayOrientation'''
 
|-
 
|-
| colspan="2" | Specifies the colour of the foreground. &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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
+
| width="90%" | Orientation
 
|-
 
|-
| colspan="2" | 0=White, 1=Black&nbsp;
+
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&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 462: Line 619:
  
  
===DrawRectangle===
+
===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;" | '''DrawRectangle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
 
|-
 
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X1
+
| width="90%" | ScaleX
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y1
+
| width="90%" | ScaleY
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | X2
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===SetForegroundColour===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | &nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetForegroundColour'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Specifies the colour of the foreground. &nbsp;
| width="90%" | Y2
 
 
|-
 
|-
| colspan="2" | &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%" | PixelColour
 
|-
 
|-
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&nbsp;
+
| colspan="2" | 0=White, 1=Black&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 506: Line 662:
  
  
===Initialise===
+
===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;" | '''Initialise'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write_Command'''
 +
|-
 +
| 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%" | Command
 
|-
 
|-
 +
| 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 632: Line 791:
 
|-
 
|-
 
| 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;" | Fonts
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font Count
+
| width="90%" | Component Label
 
|-
 
|-
| colspan="2" | Specifies the number of fonts available to use on the display.&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
+
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0
+
| 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]]
| width="90%" | Font
+
| width="90%" | Physical Orientation
 +
|-
 +
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Simulate Comms
 
|-
 
|-
| colspan="2" | Font picker to decide which font to use on your display.&nbsp;
+
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" | Character Spacing
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Fonts
 
|-
 
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1.&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Space Width
+
| width="90%" | Font Count
 
|-
 
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character.&nbsp;
+
| colspan="2" | Specifies the number of fonts available to use on the display.&nbsp;
 
|-
 
|-
 
| 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
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Component Label
+
| width="90%" | Font
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Font picker to decide which font to use on your display.&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Component Label Scale
+
| width="90%" | Bytes Required
 
|-
 
|-
| colspan="2" | The label scale can be change if the amout of text is too wide for the display &nbsp;
+
| colspan="2" | Number of bytes required in program memory to store the selected font.&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Physical Orientation
+
| width="90%" | Character Spacing
|-
 
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Simulate Comms
 
 
|-
 
|-
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.&nbsp;
+
| colspan="2" | Sets the number of blank pixels between each character when printing text.&nbsp;
 
|}
 
|}
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]

Latest revision as of 08:57, 27 April 2026

Author Matrix Ltd
Version 1.4
Category Graphical Monochrome


GLCD (SH1106) I2C component

Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 2-wire I2C interface.

Version information

Library Version, Component Version, Date, Author, Info
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
13, 1.0, 18-06-25, MW, Updated fonts to new type and added SetContrast function

Detailed description

Click here for an in depth guide to graphical LCDs using Flowcode.

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

Examples

No additional examples









Macro reference

BPlot

Error creating thumbnail: Unable to save thumbnail to destination
BPlot
Sets a pixel with the current background colour at pixel location X, Y. 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y1
 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


ClearDisplay

Error creating thumbnail: Unable to save thumbnail to destination
ClearDisplay
This macro clears the display of any previous output by overwriting the entire display with the background colour. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawArc

Error creating thumbnail: Unable to save thumbnail to destination
DrawArc
Draws an arc either as an outline or as a filled object. 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X
Center X coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y
Center Y coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Radius
Radius, distance of edge from the centre coordinates 
Error creating thumbnail: Unable to save thumbnail to destination
- FLOAT
StartAngle
Angle to start drawing, in degrees 
Error creating thumbnail: Unable to save thumbnail to destination
- FLOAT
EndAngle
Angle to end drawing, in degrees 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Resolution
Number of lines to draw from the center to the outer edge, 0=Fill 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Transparent
Chooses the transparency - 0 = Arc contains background colour, 1 = Arc contains previous pixel data. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Solid
Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc contains foreground colour. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawBezier

Error creating thumbnail: Unable to save thumbnail to destination
DrawBezier
Draws a quadratic Bezier curve with the current foreground colour from pixel location X0, Y0 to pixel location X2, Y2 using control point CX, CY. 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X0
Start X coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y0
Start Y coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
CX
Control point X coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
CY
Control point Y coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X2
End X coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y2
End Y coordinate 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Resolution
Number of segments to approximate the curve, 0 chooses an automatic value based on curve size. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawCircle

Error creating thumbnail: Unable to save thumbnail to destination
DrawCircle
Draws a circle object on the display with the center of the circle at the location X,Y 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X
X Coordinate for the center of the circle 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y
Y coordinate for the center of the circle 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Radius
Radius of the circle specified in pixels 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Transparent
0=Fill inside circle using background colour / 1=Draw outer circle only 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Solid
0=Use Transparent Setting / 1=Fill with foreground colour 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawEllipse

Error creating thumbnail: Unable to save thumbnail to destination
DrawEllipse
Draws an ellipse object on the display with the center of the ellipse at the location X,Y 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X
X Coordinate for the center of the circle 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y
Y coordinate for the center of the circle 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
XRadius
Radius of the circle on the X axis specified in pixels 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
YRadius
Radius of the circle on the Y axis specified in pixels 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Transparent
0=Fill inside circle using background colour / 1=Draw outer circle only 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Solid
0=Use Transparent Setting / 1=Fill with foreground colour 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawLine

Error creating thumbnail: Unable to save thumbnail to destination
DrawLine
Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2. 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X2
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y2
 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawRectangle

Error creating thumbnail: Unable to save thumbnail to destination
DrawRectangle
Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X2
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y2
 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Transparent
Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Solid
Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


DrawRoundedRectangle

Error creating thumbnail: Unable to save thumbnail to destination
DrawRoundedRectangle
Draws a rectangle with rounded corners 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y1
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
X2
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Y2
 
Error creating thumbnail: Unable to save thumbnail to destination
- UINT
Radius
 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Transparent
Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Solid
Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


Initialise

Error creating thumbnail: Unable to save thumbnail to destination
Initialise
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


Print

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


PrintNumber

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


ReadFontStat

Error creating thumbnail: Unable to save thumbnail to destination
ReadFontStat
Gets a stat from the selected embedded ASCII font data. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Font
Font selection range: 0 to (NumFonts - 1) 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Index
0=SpaceWidth, 1=PixelHeight 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


ReadFontWidth

Error creating thumbnail: Unable to save thumbnail to destination
ReadFontWidth
Reads the number of pixel columns used in the selected font 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Font
Font selection range: 0 to (NumFonts - 1) 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Character
ASCII character to get the pixel width e.g. 'A' or 65 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


SetBackgroundColour

Error creating thumbnail: Unable to save thumbnail to destination
SetBackgroundColour
Specifies the colour of the foreground 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
PixelColour
0=White, 1=Black 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


SetContrast

Error creating thumbnail: Unable to save thumbnail to destination
SetContrast
Set the contrast level from 1 to 255 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
ContrastLevel
 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


SetDisplayOrientation

Error creating thumbnail: Unable to save thumbnail to destination
SetDisplayOrientation
Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Orientation
0=Default, 1=90°CW, 2=180°CW, 3=270°CW 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


SetFontScaler

Error creating thumbnail: Unable to save thumbnail to destination
SetFontScaler
Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
ScaleX
Sets the horizontal scale of the font, default 1 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
ScaleY
Sets the vertical scale of the font, default 1 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


SetForegroundColour

Error creating thumbnail: Unable to save thumbnail to destination
SetForegroundColour
Specifies the colour of the foreground.  
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
PixelColour
0=White, 1=Black 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


Write_Command

Error creating thumbnail: Unable to save thumbnail to destination
Write_Command
 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Command
 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


Property reference

Error creating thumbnail: Unable to save thumbnail to destination
Properties
Error creating thumbnail: Unable to save thumbnail to destination
Dimensions
Error creating thumbnail: Unable to save thumbnail to destination
Pixel Width
Width of gLCD canvas measured in pixels. 
Error creating thumbnail: Unable to save thumbnail to destination
Pixel Height
Heigt of gLCD canvas measured in pixels. 
Error creating thumbnail: Unable to save thumbnail to destination
Colour
Error creating thumbnail: Unable to save thumbnail to destination
Monochrome
Specifies if the display is capable of colour or monochrome only. 
Error creating thumbnail: Unable to save thumbnail to destination
Foreground Color
Specifies the initial foreground color. 
Error creating thumbnail: Unable to save thumbnail to destination
Background Color
Specifies the initial background color. 
Error creating thumbnail: Unable to save thumbnail to destination
Bit Depth
Error creating thumbnail: Unable to save thumbnail to destination
Color Bit Depth
Number of bits of colour depth available on the display 
Error creating thumbnail: Unable to save thumbnail to destination
Red Bit Depth
Number of bits of Red colour depth on the display 
Error creating thumbnail: Unable to save thumbnail to destination
Green Bit Depth
Number of bits of Green colour depth on the display 
Error creating thumbnail: Unable to save thumbnail to destination
Blue Bit Depth
Number of bits of Blue colour depth on the display 
Error creating thumbnail: Unable to save thumbnail to destination
Connections
Error creating thumbnail: Unable to save thumbnail to destination
I2C Address Bit
I2C Address Bit - Bit 0 of the address and adjustable by the user. 
Error creating thumbnail: Unable to save thumbnail to destination
Channel
Channel selection 
Error creating thumbnail: Unable to save thumbnail to destination
Baud Select
Baud rate option selector 
Error creating thumbnail: Unable to save thumbnail to destination
Baud Rate
Baud rate to be used 
Error creating thumbnail: Unable to save thumbnail to destination
Stop Delay
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.  
Error creating thumbnail: Unable to save thumbnail to destination
SDA
Pin used for SDA (data signal) 
Error creating thumbnail: Unable to save thumbnail to destination
SCL
Pin used for SCL (clock signal) 
Error creating thumbnail: Unable to save thumbnail to destination
Reset
Display reset pin 
Error creating thumbnail: Unable to save thumbnail to destination
Simulation
Error creating thumbnail: Unable to save thumbnail to destination
Component Label
 
Error creating thumbnail: Unable to save thumbnail to destination
Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Error creating thumbnail: Unable to save thumbnail to destination
Physical Orientation
Rotates the simulated canvas to match the orientation of real world hardware. 
Error creating thumbnail: Unable to save thumbnail to destination
Simulate Comms
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component. 
Error creating thumbnail: Unable to save thumbnail to destination
Fonts
Error creating thumbnail: Unable to save thumbnail to destination
Font Count
Specifies the number of fonts available to use on the display. 
Error creating thumbnail: Unable to save thumbnail to destination
Font 0
Error creating thumbnail: Unable to save thumbnail to destination
Font
Font picker to decide which font to use on your display. 
Error creating thumbnail: Unable to save thumbnail to destination
Bytes Required
Number of bytes required in program memory to store the selected font. 
Error creating thumbnail: Unable to save thumbnail to destination
Character Spacing
Sets the number of blank pixels between each character when printing text. 

Component Source Code

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

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