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

From Flowcode Help
Jump to navigationJump to search
Line 17: Line 17:
 
==Component Source Code==
 
==Component Source Code==
  
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/GLCD_SH1106_I2C.fcfx FC_Comp_Source_temp/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]
+
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/GLCD_SH1106_I2C.fcfx FC_Comp_Source_temp/GLCD_SH1106_I2C.fcfx]
  
 
==Detailed description==
 
==Detailed description==
Line 73: Line 73:
  
 
''<span style="color:red;">No additional examples</span>''
 
''<span style="color:red;">No additional examples</span>''
 +
 +
  
  
Line 81: Line 83:
 
==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" | Reads the number of pixel columns used in the selected font&nbsp;
+
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y.&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%" | X1
 
|-
 
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
+
| 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%" | Character
+
| width="90%" | Y1
 
|-
 
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
+
| colspan="2" | &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===
+
===ClearDisplay===
 
{| 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;" | '''ClearDisplay'''
 
|-
 
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&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%" | ScaleX
 
|-
 
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | ScaleY
 
 
|-
 
|-
| 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 129: Line 121:
  
  
===PrintNumber===
+
===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;" | '''PrintNumber'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
|-
 
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&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-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%" | X
 
| width="90%" | X
 
|-
 
|-
| colspan="2" | X pixel coordinate to set the output string position.&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%" | Y
 
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
+
| colspan="2" | Y coordinate for the center of the circle&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%" | Radius
 
|-
 
|-
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&nbsp;
+
| 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%" | Transparent
 
|-
 
|-
| 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=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | Solid
|}
 
 
 
 
 
===DrawLine===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
| 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;
 
|-
 
| 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" 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 204:
  
  
===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 238:
  
  
===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 256:
 
|-
 
|-
 
| 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 282:
  
  
===ReadFontStat===
+
===Initialise===
 
{| 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;" | '''Initialise'''
 
|-
 
|-
| colspan="2" | Gets a stat from the selected embedded ASCII font data.&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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Font
 
|-
 
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Index
 
|-
 
| colspan="2" | 0=SpaceWidth, 1=PixelHeight&nbsp;
 
|-
 
| 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''
 
|}
 
|}
Line 352: Line 335:
  
  
===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 374:
  
  
===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="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%" | Font
 
|-
 
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&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%" | Solid
+
| width="90%" | Character
 
|-
 
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===Write_Command===
+
===SetBackgroundColour===
 
{| 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;" | '''SetBackgroundColour'''
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Specifies the colour of the foreground&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%" | PixelColour
 
|-
 
|-
| colspan="2" | &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 443: Line 441:
  
  
===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 460:
  
  
===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="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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
+
| width="90%" | PixelColour
 
|-
 
|-
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains 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 506: Line 503:
  
  
===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

Revision as of 12:00, 3 February 2023

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.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_temp/GLCD_SH1106_I2C.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_temp/GLCD_SH1106_I2C.fcfx

Detailed description

No detailed description exists yet for this component

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


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



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 I2C Address Bit
I2C Address Bit - Bit 0 of the address and adjustable by the user. 
Fc9-type-16-icon.png Channel
Channel selection 
Fc9-type-16-icon.png Baud Select
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
Baud rate to be used 
Fc9-type-7-icon.png 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.  
Fc9-type-5-icon.png SDA
Pin used for SDA (data signal) 
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-type-5-icon.png Reset
Display reset pin 
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. 
Fc9-type-7-icon.png Simulate Comms
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.