Jump to content

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

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(19 intermediate revisions by 3 users not shown)
Line 15: Line 15:
Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 2-wire I2C interface.
Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 2-wire I2C interface.


==Component Source Code==
==Version information==


Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
Library Version, Component Version, Date, Author, Info
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
13, 1.0, 18-06-25, MW, Updated fonts to new type and added SetContrast function


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
==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 41: Line 45:




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


==Examples==




Line 50: Line 52:




''<span style="color:red;">No additional examples</span>''




Line 64: Line 67:




''<span style="color:red;">No additional examples</span>''




==Macro reference==
==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===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&nbsp;
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Font
| width="90%" | X1
|-
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Character
| width="90%" | Y1
|-
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ClearDisplay===
{| 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;" | '''SetFontScaler'''
| width="90%" class="mtx-class-macrohead" | '''ClearDisplay'''
|-
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&nbsp;
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleX
|-
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleY
|-
|-
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 115: Line 109:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawArc===
{| 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;" | '''PrintNumber'''
| width="90%" class="mtx-class-macrohead" | '''DrawArc'''
|-
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&nbsp;
| colspan="2" | Draws an arc either as an outline or as a filled object.&nbsp;
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Number
|-
| colspan="2" | Byte or Integer number to send to the display.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
| width="90%" | X
|-
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
| colspan="2" | Center X coordinate&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
| width="90%" | Y
|-
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
| colspan="2" | Center Y coordinate&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine'''
|-
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&nbsp;
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
| width="90%" | Radius
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Radius, distance of edge from the centre coordinates&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | Y1
| width="90%" | StartAngle
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Angle to start drawing, in degrees&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | X2
| width="90%" | EndAngle
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Angle to end drawing, in degrees&nbsp;
|-
|-
| 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%" | Resolution
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Number of lines to draw from the center to the outer edge, 0=Fill&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawEllipse'''
|-
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X Coordinate for the center of the circle&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y coordinate for the center of the circle&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | XRadius
|-
| colspan="2" | Radius of the circle on the X axis specified in pixels&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | YRadius
|-
| colspan="2" | Radius of the circle on the Y axis specified in pixels&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
| width="90%" | Transparent
|-
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
| colspan="2" | Chooses the transparency - 0 = Arc contains background colour, 1 = Arc contains previous pixel data.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
| width="90%" | Solid
|-
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
| colspan="2" | Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc contains foreground colour.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 229: Line 163:




{| 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;" | '''SetDisplayOrientation'''
| width="90%" class="mtx-class-macrohead" | '''DrawBezier'''
|-
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&nbsp;
| colspan="2" | Draws a quadratic Bezier curve with the current foreground colour from pixel location X0, Y0 to pixel location X2, Y2 using control point CX, CY.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Orientation
| width="90%" | X0
|-
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
| colspan="2" | Start X coordinate&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | Y0
|}
 
 
{| 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" | Start Y coordinate&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BPlot'''
|-
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y.&nbsp;
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | CX
|-
|-
| colspan="2" | Control point X coordinate&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
| width="90%" | CY
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Control point Y coordinate&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
| width="90%" | X2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontStat'''
|-
| colspan="2" | Gets a stat from the selected embedded ASCII font data.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | 0=SpaceWidth, 1=PixelHeight&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| 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" | End X coordinate&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Print'''
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Str
|-
| colspan="2" | String of characters to send to the display.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
| width="90%" | Y2
|-
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
| colspan="2" | End Y coordinate&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
| width="90%" | Resolution
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Selects which Font to use Range: 0 to Font Count&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearDisplay'''
|-
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.&nbsp;
|-
|-
| colspan="2" | Number of segments to approximate the curve, 0 chooses an automatic value based on curve size.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 344: Line 212:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawCircle===
{| 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;" | '''SetBackgroundColour'''
| width="90%" class="mtx-class-macrohead" | '''DrawCircle'''
|-
| colspan="2" | Specifies the colour of the foreground&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
|-
|-
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&nbsp;
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&nbsp;
Line 400: Line 251:




{| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Write_Command'''
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Command
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetForegroundColour'''
|-
| colspan="2" | Specifies the colour of the foreground. &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
 
 
==Property reference==
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Dimensions
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Pixel Width
|-
| colspan="2" | Width of gLCD canvas measured in pixels.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Pixel Height
|-
| colspan="2" | Heigt of gLCD canvas measured in pixels.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Colour
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Monochrome
|-
| colspan="2" | Specifies if the display is capable of colour or monochrome only.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Foreground Color
|-
| colspan="2" | Specifies the initial foreground color.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Background Color
|-
| colspan="2" | Specifies the initial background color.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bit Depth
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Color Bit Depth
|-
| colspan="2" | Number of bits of colour depth available on the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Red Bit Depth
|-
| colspan="2" | Number of bits of Red colour depth on the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Green Bit Depth
|-
| colspan="2" | Number of bits of Green colour depth on the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Blue Bit Depth
|-
| colspan="2" | Number of bits of Blue colour depth on the display&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | I2C Address Bit
|-
| colspan="2" | I2C Address Bit - Bit 0 of the address and adjustable by the user.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Channel
|-
| colspan="2" | Channel selection&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Baud Select
|-
| colspan="2" | Baud rate option selector&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Baud Rate
|-
| colspan="2" | Baud rate to be used&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Stop Delay
|-
| colspan="2" | 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. &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | SDA
|-
| colspan="2" | Pin used for SDA (data signal)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | SCL
|-
| colspan="2" | Pin used for SCL (clock signal)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Reset
|-
| colspan="2" | Display reset pin&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Fonts
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font Count
|-
| colspan="2" | Specifies the number of fonts available to use on the display.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font
|-
| colspan="2" | Font picker to decide which font to use on your display.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Character Spacing
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Space Width
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Component Label
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" | Component Label Scale
|-
| colspan="2" | The label scale can be change if the amout of text is too wide for the display &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Physical Orientation
|-
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Simulate Comms
|-
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.&nbsp;
|}==Macro reference==
 
{| 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;" | '''ReadFontWidth'''
|-
| colspan="2" | Reads the number of pixel columns used in the selected font&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Character
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleX
|-
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleY
|-
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
| width="90%" class="mtx-class-macrohead" | '''DrawEllipse'''
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Number
|-
| colspan="2" | Byte or Integer number to send to the display.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine'''
|-
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawEllipse'''
|-
|-
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y&nbsp;
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y&nbsp;
Line 816: Line 295:




{| 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;" | '''SetDisplayOrientation'''
| width="90%" class="mtx-class-macrohead" | '''DrawLine'''
|-
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&nbsp;
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Orientation
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BPlot'''
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y.&nbsp;
|-
|-
|-
|-
Line 852: Line 314:
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | X2
|}
 
 
{| 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" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontStat'''
|-
|-
| colspan="2" | Gets a stat from the selected embedded ASCII font data.&nbsp;
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Font
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | 0=SpaceWidth, 1=PixelHeight&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DrawRectangle===
{| 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" | '''DrawRectangle'''
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD.&nbsp;
|-
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Str
|-
| colspan="2" | String of characters to send to the display.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
| width="90%" | X1
|-
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
| width="90%" | Y1
|-
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Selects which Font to use Range: 0 to Font Count&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearDisplay'''
|-
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| 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;" | '''SetBackgroundColour'''
|-
| colspan="2" | Specifies the colour of the foreground&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
|-
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&nbsp;
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
| width="90%" | X2
|-
|-
| colspan="2" | X Coordinate for the center of the circle&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
| width="90%" | Y2
|-
|-
| colspan="2" | Y coordinate for the center of the circle&nbsp;
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Radius
|-
| colspan="2" | Radius of the circle specified in pixels&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
| width="90%" | Transparent
|-
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
| width="90%" | Solid
|-
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 987: Line 373:




{| 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;" | '''Write_Command'''
| width="90%" class="mtx-class-macrohead" | '''DrawRoundedRectangle'''
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Draws a rectangle with rounded corners&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Command
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetForegroundColour'''
|-
| colspan="2" | Specifies the colour of the foreground. &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
|-
|-
|-
|-
Line 1,048: Line 399:
| 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" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Radius
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
Line 1,066: Line 422:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Initialise===
{| 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" | '''Initialise'''
|-
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
Line 1,079: Line 436:




 
===Print===
 
{| class="mtx-class-macrotable wikitable"
==Property reference==
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Print'''
|-
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Dimensions
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Str
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| colspan="2" | String of characters to send to the display.&nbsp;
| width="90%" | Pixel Width
|-
|-
| colspan="2" | Width of gLCD canvas measured in pixels.&nbsp;
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
| width="90%" | Pixel Height
|-
|-
| colspan="2" | Heigt of gLCD canvas measured in pixels.&nbsp;
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
|-
| width="90%" | Y1
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Colour
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Monochrome
|-
| colspan="2" | Specifies if the display is capable of colour or monochrome only.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Foreground Color
|-
| colspan="2" | Specifies the initial foreground color.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Background Color
|-
| colspan="2" | Specifies the initial background color.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bit Depth
|-
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Color Bit Depth
|-
| colspan="2" | Number of bits of colour depth available on the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Red Bit Depth
|-
| colspan="2" | Number of bits of Red colour depth on the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Green Bit Depth
|-
| colspan="2" | Number of bits of Green colour depth on the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Blue Bit Depth
|-
| colspan="2" | Number of bits of Blue colour depth on the display&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | I2C Address Bit
|-
| colspan="2" | I2C Address Bit - Bit 0 of the address and adjustable by the user.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Channel
|-
| colspan="2" | Channel selection&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Baud Select
|-
| colspan="2" | Baud rate option selector&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Baud Rate
|-
| colspan="2" | Baud rate to be used&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Stop Delay
|-
| colspan="2" | 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. &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | SDA
|-
| colspan="2" | Pin used for SDA (data signal)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | SCL
|-
| colspan="2" | Pin used for SCL (clock signal)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Reset
|-
| colspan="2" | Display reset pin&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Fonts
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font Count
|-
| colspan="2" | Specifies the number of fonts available to use on the display.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font
|-
| colspan="2" | Font picker to decide which font to use on your display.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Character Spacing
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Space Width
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character.&nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Component Label
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" | Component Label Scale
|-
| colspan="2" | The label scale can be change if the amout of text is too wide for the display &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Physical Orientation
|-
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Simulate Comms
|-
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.&nbsp;
|}==Macro reference==
 
{| 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;" | '''ReadFontWidth'''
|-
| colspan="2" | Reads the number of pixel columns used in the selected font&nbsp;
|-
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
| width="90%" | Font
|-
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
| colspan="2" | Selects which Font to use Range: 0 to Font Count&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Character
| width="90%" | Transparent
|-
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
|-
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleX
|-
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleY
|-
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 1,289: Line 475:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===PrintNumber===
{| 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;" | '''PrintNumber'''
| width="90%" class="mtx-class-macrohead" | '''PrintNumber'''
|-
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&nbsp;
| colspan="2" | This macro prints a decimal number to the Graphical LCD.&nbsp;
Line 1,327: Line 514:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadFontStat===
|-
{| class="mtx-class-macrotable wikitable"
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine'''
|-
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="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" | '''ReadFontStat'''
|-
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X Coordinate for the center of the circle&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y coordinate for the center of the circle&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | XRadius
|-
| colspan="2" | Radius of the circle on the X axis specified in pixels&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | YRadius
|-
| colspan="2" | Radius of the circle on the Y axis specified in pixels&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDisplayOrientation'''
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Orientation
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BPlot'''
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontStat'''
|-
|-
| colspan="2" | Gets a stat from the selected embedded ASCII font data.&nbsp;
| colspan="2" | Gets a stat from the selected embedded ASCII font data.&nbsp;
Line 1,467: Line 538:




{| 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;" | '''Print'''
| width="90%" class="mtx-class-macrohead" | '''ReadFontWidth'''
|-
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD.&nbsp;
| colspan="2" | Reads the number of pixel columns used in the selected font&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Str
|-
| colspan="2" | String of characters to send to the display.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | X pixel coordinate to set the output string position.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
|-
| colspan="2" | Y pixel coordinate to set the output string position.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
| width="90%" | Font
|-
|-
| colspan="2" | Selects which Font to use Range: 0 to Font Count&nbsp;
| colspan="2" | Font selection range: 0 to (NumFonts - 1)&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
| width="90%" | Character
|-
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&nbsp;
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetBackgroundColour===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetBackgroundColour'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Specifies the colour of the foreground&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearDisplay'''
|-
|-
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 1,518: Line 581:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetContrast===
{| 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;" | '''SetBackgroundColour'''
| width="90%" class="mtx-class-macrohead" | '''SetContrast'''
|-
|-
| colspan="2" | Specifies the colour of the foreground&nbsp;
| colspan="2" | Set the contrast level from 1 to 255&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
| width="90%" | ContrastLevel
|-
|-
| colspan="2" | 0=White, 1=Black&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 1,536: Line 600:




{| 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;" | '''DrawCircle'''
| width="90%" class="mtx-class-macrohead" | '''SetDisplayOrientation'''
|-
|-
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y&nbsp;
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X Coordinate for the center of the circle&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y coordinate for the center of the circle&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Radius
|-
|-
| colspan="2" | Radius of the circle specified in pixels&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
| width="90%" | Orientation
|-
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only&nbsp;
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 1,574: Line 619:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetFontScaler===
{| 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;" | '''Write_Command'''
| width="90%" class="mtx-class-macrohead" | '''SetFontScaler'''
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Allows the fonts to be scaled up by multiplying the number of pixels on the X and Y.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleX
|-
|-
| colspan="2" | Sets the horizontal scale of the font, default 1&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Command
| width="90%" | ScaleY
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Sets the vertical scale of the font, default 1&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 1,592: Line 643:




{| 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;" | '''SetForegroundColour'''
| width="90%" class="mtx-class-macrohead" | '''SetForegroundColour'''
|-
|-
| colspan="2" | Specifies the colour of the foreground. &nbsp;
| colspan="2" | Specifies the colour of the foreground. &nbsp;
Line 1,610: Line 662:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Write_Command===
{| 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" | '''Write_Command'''
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
|-
| colspan="2" | &nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
|-
| width="90%" | Command
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| 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;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="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" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Dimensions
| width="90%" class="mtx-class-propfolder" | Dimensions
|-
|-
|-
|-
Line 1,690: Line 703:
| colspan="2" | Heigt of gLCD canvas measured in pixels.&nbsp;
| colspan="2" | Heigt of gLCD canvas measured in pixels.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Colour
| width="90%" class="mtx-class-propfolder" | Colour
|-
|-
|-
|-
Line 1,709: Line 722:
| colspan="2" | Specifies the initial background color.&nbsp;
| colspan="2" | Specifies the initial background color.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bit Depth
| width="90%" class="mtx-class-propfolder" | Bit Depth
|-
|-
|-
|-
Line 1,733: Line 746:
| colspan="2" | Number of bits of Blue colour depth on the display&nbsp;
| colspan="2" | Number of bits of Blue colour depth on the display&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| width="90%" class="mtx-class-propfolder" | Connections
|-
|-
|-
|-
Line 1,777: Line 790:
| colspan="2" | Display reset pin&nbsp;
| colspan="2" | Display reset pin&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Fonts
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font Count
| width="90%" | Component Label
|-
|-
| colspan="2" | Specifies the number of fonts available to use on the display.&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0
| width="90%" | Component Label Scale
|-
|-
| colspan="2" | The label scale can be change if the amout of text is too wide for the display &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font
| width="90%" | Physical Orientation
|-
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Simulate Comms
|-
|-
| colspan="2" | Font picker to decide which font to use on your display.&nbsp;
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" | Character Spacing
| width="90%" class="mtx-class-propfolder" | Fonts
|-
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Space Width
| width="90%" | Font Count
|-
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character.&nbsp;
| colspan="2" | Specifies the number of fonts available to use on the display.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| width="90%" class="mtx-class-propfolder" | Font 0
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Component Label
| width="90%" | Font
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Font picker to decide which font to use on your display.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Component Label Scale
| width="90%" | Bytes Required
|-
|-
| colspan="2" | The label scale can be change if the amout of text is too wide for the display &nbsp;
| colspan="2" | Number of bytes required in program memory to store the selected font.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Physical Orientation
| width="90%" | Character Spacing
|-
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| colspan="2" | Sets the number of blank pixels between each character when printing text.&nbsp;
| width="90%" | Simulate Comms
|-
| colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.&nbsp;
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SH1106_I2C.fcfx FC_Comp_Source_GLCD_SH1106_I2C.fcfx]

Latest revision as of 14:37, 13 July 2026

Author Matrix Ltd
Version 1.4
Category Graphical Monochrome


GLCD (SH1106) I2C component

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

Version information

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

Detailed description

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

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

Examples

No additional examples









Macro reference

BPlot

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


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


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


SetBackgroundColour

SetBackgroundColour
Specifies the colour of the foreground 
- BYTE PixelColour
0=White, 1=Black 
- VOID Return


SetContrast

SetContrast
Set the contrast level from 1 to 255 
- BYTE ContrastLevel
 
- 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.  
- BYTE PixelColour
0=White, 1=Black 
- VOID Return


Write_Command

Write_Command
 
- BYTE Command
 
- VOID Return


Property reference

Properties
Dimensions
Pixel Width
Width of gLCD canvas measured in pixels. 
Pixel Height
Heigt of gLCD canvas measured in pixels. 
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
Color Bit Depth
Number of bits of colour depth available on the display 
Red Bit Depth
Number of bits of Red colour depth on the display 
Green Bit Depth
Number of bits of Green colour depth on the display 
Blue Bit Depth
Number of bits of Blue colour depth on the display 
Connections
I2C Address Bit
I2C Address Bit - Bit 0 of the address and adjustable by the user. 
Channel
Channel selection 
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
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.  
SDA
Pin used for SDA (data signal) 
SCL
Pin used for SCL (clock signal) 
Reset
Display reset pin 
Simulation
Component Label
 
Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Physical Orientation
Rotates the simulated canvas to match the orientation of real world hardware. 
Simulate Comms
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component. 
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. 

Component Source Code

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

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