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

From Flowcode Help
Jump to navigationJump to search
 
(15 intermediate revisions by 2 users not shown)
Line 15: Line 15:
 
Graphical display component based on the I2C version of the SSD1306 monochrome graphical controller IC. Functions without the use of a read pin by hosting the 1K of graphical memory using the  microcontroller's RAM memory.
 
Graphical display component based on the I2C version of the SSD1306 monochrome graphical controller IC. Functions without the use of a read pin by hosting the 1K of graphical memory using the  microcontroller's RAM memory.
  
==Component Source Code==
+
==Version information==
  
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_glcd_SSD1306_I2C.fcfx FC_Comp_Source_glcd_SSD1306_I2C.fcfx]
+
Library Version, Component Version, Date, Author, Info
 +
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
  
 
==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 31: Line 38:
  
  
''No detailed description exists yet for this component''
 
  
==Examples==
 
  
  
Line 49: Line 54:
  
  
==Downloadable 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" | Reads the number of pixel columns used in the selected font 
+
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y. 
 
|-
 
|-
 
|-
 
|-
| 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) 
+
| colspan="2" |  
 
|-
 
|-
| 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 
+
| colspan="2" |  
 
|-
 
|-
| 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''
 
|}
 
|}
  
  
 +
===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" | This macro clears the display of any previous output by overwriting the entire display with the background colour. 
 +
|-
 
|-
 
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y. 
+
| 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''
 +
|}
 +
 
 +
 
 +
===ControlContrast===
 +
{| 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;" | '''ControlContrast'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Sets the display contrast from 0 to 255. 
| width="90%" | ScaleX
 
 
|-
 
|-
| colspan="2" | Sets the horizontal scale of the font, default 1 
 
 
|-
 
|-
 
| 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%" | Contrast
 
|-
 
|-
| colspan="2" | Sets the vertical scale of the font, default 1 
+
| colspan="2" | Range 0 - 255, Default 207 
 
|-
 
|-
 
| 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 97: Line 129:
  
  
 +
===ControlDisplay===
 
{| 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;" | '''SendCommand'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ControlDisplay'''
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Allows the display to be switched on and off 
 
|-
 
|-
 
|-
 
|-
 
| 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%" | Control
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | 0=Off, 1=On 
 
|-
 
|-
 
| 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 115: Line 148:
  
  
 +
===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;" | '''PrintNumber'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawArc'''
 +
|-
 +
| colspan="2" | Draws an arc either as an outline or as a filled object. 
 +
|-
 
|-
 
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD. 
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X
 
|-
 
|-
 +
| colspan="2" | Center X coordinate 
 
|-
 
|-
| 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. 
+
| colspan="2" | Center Y coordinate 
 
|-
 
|-
 
| 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%" | Radius
 +
|-
 +
| colspan="2" | Radius, distance of edge from the centre coordinates 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 +
| width="90%" | StartAngle
 +
|-
 +
| colspan="2" | Angle to start drawing, in degrees 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 +
| width="90%" | EndAngle
 
|-
 
|-
| colspan="2" | X pixel coordinate to set the output string position. 
+
| colspan="2" | Angle to end drawing, in degrees 
 
|-
 
|-
 
| 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%" | Resolution
 
|-
 
|-
| colspan="2" | Y pixel coordinate to set the output string position. 
+
| colspan="2" | Number of lines to draw from the center to the outer edge, 0=Fill 
 
|-
 
|-
 
| 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 
+
| colspan="2" | Chooses the transparency - 0 = Arc contains background colour, 1 = Arc contains previous pixel data. 
 
|-
 
|-
 
| 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. 
+
| colspan="2" | Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc contains foreground colour. 
 
|-
 
|-
 
| 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 153: Line 202:
  
  
 +
===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. 
+
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y 
 
|-
 
|-
 
|-
 
|-
 
| 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" |  
+
| colspan="2" | X Coordinate for the center of the circle 
 
|-
 
|-
 
| 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" |  
+
| colspan="2" | Y coordinate for the center of the circle 
 
|-
 
|-
 
| 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 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only 
 
|-
 
|-
| 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" |  
+
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 186: Line 241:
  
  
 +
===DrawEllipse===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 229: Line 285:
  
  
 +
===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;" | '''Plot'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine'''
 
|-
 
|-
| colspan="2" | Sets a pixel with the current foreground colour at pixel location X, Y. 
+
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2. 
 
|-
 
|-
 
|-
 
|-
Line 244: Line 301:
 
| 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%" | Y1
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X2
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y2
 
|-
 
|-
 
| colspan="2" |  
 
| colspan="2" |  
Line 252: Line 319:
  
  
 +
===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;" | '''ControlDisplay'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
 +
|-
 +
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y1
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X2
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y2
 +
|-
 +
| colspan="2" |  
 
|-
 
|-
| colspan="2" | Allows the display to be switched on and off 
+
| 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. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Control
+
| width="90%" | Solid
 
|-
 
|-
| colspan="2" | 0=Off, 1=On 
+
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
 
|-
 
|-
 
| 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 270: Line 363:
  
  
 +
===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;" | '''SetDisplayOrientation'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRoundedRectangle'''
 +
|-
 +
| colspan="2" | Draws a rectangle with rounded corners 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y1
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X2
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y2
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Radius
 +
|-
 +
| colspan="2" |  
 
|-
 
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0. 
+
| 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. 
 
|-
 
|-
 
| 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%" | Solid
 
|-
 
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW 
+
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
 
|-
 
|-
 
| 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 288: Line 412:
  
  
 +
===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;" | '''BPlot'''
+
| 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. 
 
|-
 
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y. 
 
 
|-
 
|-
 +
| 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''
 +
|}
 +
 +
 +
===InvertDisplay===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" | X1
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''InvertDisplay'''
 
|-
 
|-
 
| colspan="2" |  
 
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y1
 
|-
 
| colspan="2" |  
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 311: Line 440:
  
  
 +
===Plot===
 
{| 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;" | '''Plot'''
 
|-
 
|-
| colspan="2" | Gets a stat from the selected embedded ASCII font data. 
+
| colspan="2" | Sets a pixel with the current foreground colour at pixel location X, Y. 
 
|-
 
|-
 
|-
 
|-
| 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) 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Index
+
| width="90%" | Y1
 
|-
 
|-
| colspan="2" | 0=SpaceWidth, 1=PixelHeight 
+
| colspan="2" |  
 
|-
 
|-
| 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''
 
|}
 
|}
  
  
 +
===Print===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 372: Line 503:
  
  
 +
===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;" | '''ControlContrast'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
 +
|-
 +
| colspan="2" | This macro prints a decimal number to the Graphical LCD. 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Number
 +
|-
 +
| colspan="2" | Byte or Integer number to send to the display. 
 
|-
 
|-
| colspan="2" | Sets the display contrast from 0 to 255. 
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X
 
|-
 
|-
 +
| colspan="2" | X pixel coordinate to set the output string position. 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Contrast
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Range 0 - 255, Default 207 
+
| colspan="2" | Y pixel coordinate to set the output string position. 
 
|-
 
|-
| 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%" | Font
|}
 
 
 
 
 
{| 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" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes 
| 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. 
+
| 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. 
 
|-
 
|-
 
| 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 403: Line 542:
  
  
 +
===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. 
 +
|-
 
|-
 
|-
| colspan="2" | Specifies the colour of the background by creating a mixture of red, green and blue.  
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Font
 
|-
 
|-
 +
| colspan="2" | Font selection range: 0 to (NumFonts - 1) 
 
|-
 
|-
 
| 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 
+
| colspan="2" | 0=SpaceWidth, 1=PixelHeight 
 
|-
 
|-
| 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''
 
|}
 
|}
  
  
 +
===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 
+
| colspan="2" | Reads the number of pixel columns used in the selected font 
 
|-
 
|-
 
|-
 
|-
| 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 
+
| colspan="2" | Font selection range: 0 to (NumFonts - 1) 
 
|-
 
|-
| 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 
+
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65 
 
|-
 
|-
| 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''
 +
|}
 +
 
 +
 
 +
===SendCommand===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Radius of the circle specified in pixels 
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendCommand'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" |  
| width="90%" | Transparent
 
 
|-
 
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only 
 
 
|-
 
|-
 
| 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%" | Command
 
|-
 
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour 
+
| colspan="2" |  
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 459: Line 609:
  
  
 +
===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;" | '''SetForegroundColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBackgroundColour'''
 
|-
 
|-
| colspan="2" | Specifies the colour of the foreground by creating a mixture of red, green and blue.  
+
| colspan="2" | Specifies the colour of the background by creating a mixture of red, green and blue.  
 
|-
 
|-
 
|-
 
|-
Line 477: Line 628:
  
  
 +
===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;" | '''DrawRectangle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDisplayOrientation'''
 
|-
 
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2 
+
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0. 
 
|-
 
|-
 
|-
 
|-
| 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%" | Orientation
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW 
 
|-
 
|-
| 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%" | Y1
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===SetFontScaler===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" |  
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y. 
| width="90%" | X2
 
 
|-
 
|-
| colspan="2" |  
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y2
 
|-
 
| colspan="2" |  
 
 
|-
 
|-
 
| 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%" | ScaleX
 
|-
 
|-
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data. 
+
| colspan="2" | Sets the horizontal scale of the font, default 1 
 
|-
 
|-
 
| 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%" | ScaleY
 
|-
 
|-
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
+
| colspan="2" | Sets the vertical scale of the font, default 1 
 
|-
 
|-
 
| 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 520: Line 671:
  
  
 +
===SetForegroundColour===
 
{| 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;" | '''SetForegroundColour'''
 
|-
 
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
+
| colspan="2" | Specifies the colour of the foreground by creating a mixture of red, green and blue.  
 
|-
 
|-
 
|-
 
|-
| 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%" | PixelColour
|}
 
 
 
 
 
{| 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;" | '''InvertDisplay'''
 
|-
 
| colspan="2" |  
 
 
|-
 
|-
 +
| colspan="2" | 0=White, 1=Black 
 
|-
 
|-
 
| 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 700: Line 842:
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Display Method
+
| width="90%" | Physical Orientation
 
|-
 
|-
| colspan="2" | Chooses which method to use when drawing to the gLCD component The bitmap is the more common mode but may run slowly on some machines. The point cloud should run faster but may use more memory.  
+
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
Line 709: Line 851:
 
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component. 
 
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component. 
 
|}
 
|}
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SSD1306_I2C.fcfx FC_Comp_Source_GLCD_SSD1306_I2C.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SSD1306_I2C.fcfx FC_Comp_Source_GLCD_SSD1306_I2C.fcfx]

Latest revision as of 09:49, 23 July 2024

Author Matrix Ltd
Version 1.9
Category Graphical Monochrome


GLCD (SSD1306) I2C component

Graphical display component based on the I2C version of the SSD1306 monochrome graphical controller IC. Functions without the use of a read pin by hosting the 1K of graphical memory using the microcontroller's RAM memory.

Version information

Library Version, Component Version, Date, Author, Info
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions

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

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


ControlContrast

Fc9-comp-macro.png ControlContrast
Sets the display contrast from 0 to 255. 
Fc9-u8-icon.png - BYTE Contrast
Range 0 - 255, Default 207 
Fc9-void-icon.png - VOID Return


ControlDisplay

Fc9-comp-macro.png ControlDisplay
Allows the display to be switched on and off 
Fc9-u8-icon.png - BYTE Control
0=Off, 1=On 
Fc9-void-icon.png - VOID Return


DrawArc

Fc9-comp-macro.png DrawArc
Draws an arc either as an outline or as a filled object. 
Fc9-u16-icon.png - UINT X
Center X coordinate 
Fc9-u16-icon.png - UINT Y
Center Y coordinate 
Fc9-u16-icon.png - UINT Radius
Radius, distance of edge from the centre coordinates 
Fc9-f32-icon.png - FLOAT StartAngle
Angle to start drawing, in degrees 
Fc9-f32-icon.png - FLOAT EndAngle
Angle to end drawing, in degrees 
Fc9-u16-icon.png - UINT Resolution
Number of lines to draw from the center to the outer edge, 0=Fill 
Fc9-u8-icon.png - BYTE Transparent
Chooses the transparency - 0 = Arc contains background colour, 1 = Arc contains previous pixel data. 
Fc9-u8-icon.png - BYTE Solid
Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc contains foreground 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


DrawRoundedRectangle

Fc9-comp-macro.png DrawRoundedRectangle
Draws a rectangle with rounded corners 
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-u16-icon.png - UINT Radius
 
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


InvertDisplay

Fc9-comp-macro.png InvertDisplay
 
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


SendCommand

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


SetBackgroundColour

Fc9-comp-macro.png SetBackgroundColour
Specifies the colour of the background by creating a mixture of red, green and blue.  
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 by creating a mixture of red, green and blue.  
Fc9-u8-icon.png - BYTE PixelColour
0=White, 1=Black 
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-type-7-icon.png Interlaced
Determines if the display is interlaced in the Y axis or not 
Fc9-type-21-icon.png Offset X
 
Fc9-type-21-icon.png Offset Y
 
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 Colour Bit Depth
Total color bit depth for the display. 
Fc9-type-14-icon.png Red Bit Depth
Specifies the red bit depth for the display. 
Fc9-type-14-icon.png Green Bit Depth
Specifies the green bit depth for the display. 
Fc9-type-14-icon.png Blue Bit Depth
Specifies the blue bit depth for the display. 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png I2C Address
 
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-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 Mode
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. 

Component Source Code

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

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