Jump to content

Component: GLCD (SSD1306) Buffered (SSD1306) (Graphical Monochrome): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(23 intermediate revisions by 3 users not shown)
Line 15: Line 15:
Graphical display component based on 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 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 Pack==
==Version information==


DISPLAYS
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 29: Line 40:




''No detailed description exists yet for this component''


==Examples==




Line 45: Line 54:




==Downloadable macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
 
 
 
 
 
 
 
 
 
 
 
==Macro reference==
 
===BPlot===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontWidth'''
| width="90%" class="mtx-class-macrohead" | '''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''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ClearDisplay===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ClearDisplay'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour. 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
|-
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y. 
|-
|-
| 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="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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 93: Line 127:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ControlDisplay===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendCommand'''
| width="90%" class="mtx-class-macrohead" | '''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 111: Line 146:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawArc===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''DrawArc'''
|-
| colspan="2" | Draws an arc either as an outline or as a filled object. 
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
|-
|-
| colspan="2" | 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 149: Line 200:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawBezier===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine'''
| width="90%" class="mtx-class-macrohead" | '''DrawBezier'''
|-
|-
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2. 
| 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. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X0
|-
| colspan="2" | Start X coordinate 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y0
|-
|-
| colspan="2" | Start Y coordinate 
|-
|-
| 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%" | CX
|-
|-
| colspan="2" |  
| colspan="2" | Control point X coordinate 
|-
|-
| 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%" | CY
|-
|-
| colspan="2" |  
| colspan="2" | Control point Y coordinate 
|-
|-
| 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%" | X2
|-
|-
| colspan="2" |  
| colspan="2" | End X coordinate 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
| width="90%" | Y2
|-
|-
| colspan="2" |  
| colspan="2" | End Y coordinate 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Resolution
|-
| colspan="2" | Number of segments to approximate the curve, 0 chooses an automatic value based on curve size. 
|-
| 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''
|}
 
 
===DrawCircle===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''DrawCircle'''
|-
| 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="90%" | X
|-
| colspan="2" | X Coordinate for the center of the circle 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y coordinate for the center of the circle 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| 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" | 0=Fill inside circle using background colour / 1=Draw outer circle only 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| 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 182: Line 288:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawEllipse===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawEllipse'''
| width="90%" class="mtx-class-macrohead" | '''DrawEllipse'''
|-
|-
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y 
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y 
Line 225: Line 332:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawLine===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Plot'''
| width="90%" class="mtx-class-macrohead" | '''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 240: Line 348:
| 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 248: Line 366:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawRectangle===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''DrawRectangle'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ControlDisplay'''
|-
|-
| colspan="2" | Allows the display to be switched on and off 
|-
|-
| 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-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 266: Line 410:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawRoundedRectangle===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDisplayOrientation'''
| width="90%" class="mtx-class-macrohead" | '''DrawRoundedRectangle'''
|-
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0. 
| 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" |  
|-
| 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 284: Line 459:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BPlot'''
|-
|-
| 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="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" | X1
| width="90%" class="mtx-class-macrohead" | '''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 307: Line 487:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Plot===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontStat'''
| width="90%" class="mtx-class-macrohead" | '''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''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Print===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Print'''
| width="90%" class="mtx-class-macrohead" | '''Print'''
|-
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD. 
| colspan="2" | This macro prints a string of characters to the Graphical LCD. 
Line 368: Line 550:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===PrintNumber===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Byte or Integer number to send to the display. 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ControlContrast'''
|-
|-
| 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 399: Line 589:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadFontStat===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ReadFontStat'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Gets a stat from the selected embedded ASCII font data. 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBackgroundColour'''
|-
|-
| 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''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadFontWidth===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
| width="90%" class="mtx-class-macrohead" | '''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="mtx-class-macrotable wikitable"
|-
|-
| colspan="2" | Radius of the circle specified in pixels 
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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 455: Line 656:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetBackgroundColour===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetForegroundColour'''
| width="90%" class="mtx-class-macrohead" | '''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 473: Line 675:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetDisplayOrientation===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
| width="90%" class="mtx-class-macrohead" | '''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="mtx-class-macrotable wikitable"
|-
|-
| colspan="2" |  
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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 516: Line 718:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetForegroundColour===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| width="90%" class="mtx-class-macrohead" | '''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''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" class="mtx-class-macrohead" | '''Properties'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
|-
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | Dimensions
|-
|-
|-
|-
Line 576: Line 773:
|-
|-
| colspan="2" |  
| colspan="2" |  
|-
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | Colour
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
Line 591: Line 792:
|-
|-
| colspan="2" | Specifies the initial background color. 
| colspan="2" | Specifies the initial background color. 
|-
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | Bit Depth
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
Line 612: Line 817:
| colspan="2" | Specifies the blue bit depth for the display. 
| colspan="2" | Specifies the blue bit depth for the display. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" | Font Count
| width="90%" class="mtx-class-propfolder" | Connections
|-
|-
| colspan="2" | Specifies the number of fonts available to use on the display. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Font
| width="90%" | Chip Select (CS)
|-
|-
| colspan="2" | Font picker to decide which font to use on your display. 
| colspan="2" | Chip select pin connection 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Character Spacing
| width="90%" | Reg Select (RS)
|-
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1. 
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Space Width
| width="90%" | Data (SD)
|-
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character. 
| colspan="2" | LED backlight strobe pin connection 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Font
| width="90%" | Serial Clock (SCK)
|-
|-
| colspan="2" | Font picker to decide which font to use on your display. 
| colspan="2" | Reset pin connection 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Character Spacing
| width="90%" | Reset (RST)
|-
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1. 
| colspan="2" | Instruction / Command pin connection 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" | Space Width
| width="90%" class="mtx-class-propfolder" | Fonts
|-
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character. 
|-
|-
| 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%" | Font Count
|-
|-
| colspan="2" | Font picker to decide which font to use on your display. 
| colspan="2" | Specifies the number of fonts available to use on the display. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" | Character Spacing
| width="90%" class="mtx-class-propfolder" | Font 0
|-
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1. 
|-
|-
| 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
|-
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character. 
| colspan="2" | Font picker to decide which font to use on your display. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Font
| width="90%" | Bytes Required
|-
|-
| colspan="2" | Font picker to decide which font to use on your display. 
| colspan="2" | Number of bytes required in program memory to store the selected font. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Character Spacing
| width="90%" | Character Spacing
|-
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1. 
| colspan="2" | Sets the number of blank pixels between each character when printing text. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Space Width
| width="90%" | Space Width
|-
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character. 
| colspan="2" | Sets the number of horizontal pixels used to represent a space character. 
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" | Display Method
| width="90%" class="mtx-class-propfolder" | Simulation Mode
|-
|-
| 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.  
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
| width="90%" | Physical Orientation
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Chip Select (CS)
|-
| colspan="2" | Chip select pin connection 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Reg Select (RS)
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Data (SD)
|-
| colspan="2" | LED backlight strobe pin connection 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Serial Clock (SCK)
|-
| colspan="2" | Reset pin connection 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Reset (RST)
|-
| colspan="2" | Instruction / Command pin connection 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
|-
|-
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware. 
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SSD1306_buffered.fcfx FC_Comp_Source_GLCD_SSD1306_buffered.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SSD1306_buffered.fcfx FC_Comp_Source_GLCD_SSD1306_buffered.fcfx]

Latest revision as of 14:37, 13 July 2026

Author Matrix Ltd
Version 1.6
Category Graphical Monochrome


GLCD (SSD1306) Buffered component

Graphical display component based on 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

BPlot
Sets a pixel with the current background colour at pixel location X, Y. 
- UINT X1
 
- UINT Y1
 
- VOID Return


ClearDisplay

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


ControlContrast

ControlContrast
Sets the display contrast from 0 to 255. 
- BYTE Contrast
Range 0 - 255, Default 207 
- VOID Return


ControlDisplay

ControlDisplay
Allows the display to be switched on and off 
- BYTE Control
0=Off, 1=On 
- VOID Return


DrawArc

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


DrawBezier

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. 
- UINT X0
Start X coordinate 
- UINT Y0
Start Y coordinate 
- UINT CX
Control point X coordinate 
- UINT CY
Control point Y coordinate 
- UINT X2
End X coordinate 
- UINT Y2
End Y coordinate 
- UINT Resolution
Number of segments to approximate the curve, 0 chooses an automatic value based on curve size. 
- VOID Return


DrawCircle

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


DrawEllipse

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


DrawLine

DrawLine
Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2. 
- UINT X1
 
- UINT Y1
 
- UINT X2
 
- UINT Y2
 
- VOID Return


DrawRectangle

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


DrawRoundedRectangle

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


Initialise

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


InvertDisplay

InvertDisplay
 
- VOID Return


Plot

Plot
Sets a pixel with the current foreground colour at pixel location X, Y. 
- UINT X1
 
- UINT Y1
 
- VOID Return


Print

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


PrintNumber

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


ReadFontStat

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


ReadFontWidth

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


SendCommand

SendCommand
 
- BYTE Command
 
- VOID Return


SetBackgroundColour

SetBackgroundColour
Specifies the colour of the background by creating a mixture of red, green and blue.  
- BYTE PixelColour
0=White, 1=Black 
- VOID Return


SetDisplayOrientation

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


SetFontScaler

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


SetForegroundColour

SetForegroundColour
Specifies the colour of the foreground by creating a mixture of red, green and blue.  
- BYTE PixelColour
0=White, 1=Black 
- VOID Return


Property reference

Properties
Dimensions
Pixel Width
Width of gLCD canvas measured in pixels. 
Pixel Height
Heigt of gLCD canvas measured in pixels. 
Interlaced
Determines if the display is interlaced in the Y axis or not 
Offset X
 
Offset Y
 
Colour
Monochrome
Specifies if the display is capable of colour or monochrome only. 
Foreground Color
Specifies the initial foreground color. 
Background Color
Specifies the initial background color. 
Bit Depth
Colour Bit Depth
Total color bit depth for the display. 
Red Bit Depth
Specifies the red bit depth for the display. 
Green Bit Depth
Specifies the green bit depth for the display. 
Blue Bit Depth
Specifies the blue bit depth for the display. 
Connections
Chip Select (CS)
Chip select pin connection 
Reg Select (RS)
 
Data (SD)
LED backlight strobe pin connection 
Serial Clock (SCK)
Reset pin connection 
Reset (RST)
Instruction / Command pin connection 
Fonts
Font Count
Specifies the number of fonts available to use on the display. 
Font 0
Font
Font picker to decide which font to use on your display. 
Bytes Required
Number of bytes required in program memory to store the selected font. 
Character Spacing
Sets the number of blank pixels between each character when printing text. 
Space Width
Sets the number of horizontal pixels used to represent a space character. 
Simulation Mode
Physical Orientation
Rotates the simulated canvas to match the orientation of real world hardware. 

Component Source Code

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

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