Jump to content

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

From Flowcode Help
No edit summary
No edit summary
Line 16: Line 16:


==Component Source Code==
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_GLCD_SSD1306_I2C.fcfx FC_Comp_Source_GLCD_SSD1306_I2C.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SSD1306_I2C.fcfx FC_Comp_Source_GLCD_SSD1306_I2C.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SSD1306_I2C.fcfx FC_Comp_Source_GLCD_SSD1306_I2C.fcfx]


==Detailed description==
==Detailed description==




Line 40: Line 44:


==Examples==
==Examples==




Line 62: Line 68:


==Macro reference==
==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 
|-
|-
| 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="90%" | Character
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65 
|-
| 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. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| 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="90%" | ScaleY
|-
| 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="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;" | '''SendCommand'''
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Command
|-
| colspan="2" |  
|-
| 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;" | '''PrintNumber'''
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD. 
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Number
|-
| colspan="2" | Byte or Integer number to send to the display. 
|-
| 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-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y pixel coordinate to set the output string position. 
|-
| 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 
|-
| 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="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. 
|-
|-
| 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" 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 
|-
|-
| 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%" | XRadius
|-
| colspan="2" | Radius of the circle on the X axis specified in pixels 
|-
| 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 
|-
| 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="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;" | '''Plot'''
|-
| colspan="2" | Sets a pixel with the current foreground colour at pixel location X, Y. 
|-
|-
| 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" 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;" | '''ControlDisplay'''
|-
| colspan="2" | Allows the display to be switched on and off 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Control
|-
| colspan="2" | 0=Off, 1=On 
|-
| 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. 
|-
|-
| 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 
|-
| 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. 
|-
|-
| 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" 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. 
|-
|-
| 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="90%" | Index
|-
| colspan="2" | 0=SpaceWidth, 1=PixelHeight 
|-
| 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;" | '''Print'''
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD. 
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Str
|-
| colspan="2" | String of characters to send to the display. 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | X pixel coordinate to set the output string position. 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" | Y pixel coordinate to set the output string position. 
|-
| 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 
|-
| 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="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;" | '''ControlContrast'''
|-
| colspan="2" | Sets the display contrast from 0 to 255. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Contrast
|-
| colspan="2" | Range 0 - 255, Default 207 
|-
| 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. 
|-
|-
| 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 background by creating a mixture of red, green and blue.  
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black 
|-
| 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 
|-
|-
| 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="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 by creating a mixture of red, green and blue.  
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | PixelColour
|-
| colspan="2" | 0=White, 1=Black 
|-
| 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 
|-
|-
| 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="90%" | Solid
|-
| 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="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. 
|-
|-
| 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;" | '''InvertDisplay'''
|-
| colspan="2" |  
|-
|-
| 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. 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Pixel Height
|-
| colspan="2" | Heigt of gLCD canvas measured in pixels. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Interlaced
|-
| colspan="2" | Determines if the display is interlaced in the Y axis or not 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Offset X
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Offset Y
|-
| colspan="2" |  
|-
| 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. 
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Foreground Color
|-
| colspan="2" | Specifies the initial foreground color. 
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Background Color
|-
| colspan="2" | Specifies the initial background color. 
|-
| 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%" | Colour Bit Depth
|-
| colspan="2" | Total color bit depth for the display. 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Red Bit Depth
|-
| colspan="2" | Specifies the red bit depth for the display. 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Green Bit Depth
|-
| colspan="2" | Specifies the green bit depth for the display. 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Blue Bit Depth
|-
| colspan="2" | Specifies the blue bit depth for the display. 
|-
| 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
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Channel
|-
| colspan="2" | Channel selection 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Baud Select
|-
| colspan="2" | Baud rate option selector 
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Baud Rate
|-
| colspan="2" | Baud rate to be used 
|-
| 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.  
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | SDA
|-
| colspan="2" | Pin used for SDA (data signal) 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | SCL
|-
| colspan="2" | Pin used for SCL (clock signal) 
|-
| 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. 
|-
| 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. 
|-
| 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. 
|-
| 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. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation Mode
|-
|-
| 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. 
|-
| 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. 
|}==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"

Revision as of 15:22, 20 January 2023

Author Matrix Ltd
Version 1.9
Category Graphical Monochrome


GLCD (SSD1306) I2C component

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

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples


Macro reference

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


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


SendCommand
 
- BYTE Command
 
- VOID Return


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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
 
- 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
I2C Address
 
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) 
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. 
Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
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. 
Simulate Comms
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component. 

==Macro reference==

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


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


SendCommand
 
- BYTE Command
 
- VOID Return


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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
 
- 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
I2C Address
 
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) 
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. 
Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
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. 
Simulate Comms
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component. 

==Macro reference==

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


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


SendCommand
 
- BYTE Command
 
- VOID Return


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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
 
- 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
I2C Address
 
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) 
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. 
Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
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. 
Simulate Comms
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.