Difference between revisions of "Component: GLCD (SH1106) I2C (Graphical Monochrome)"
From Flowcode Help
Jump to navigationJump to search| (4 intermediate revisions by 2 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. | ||
| − | == | + | ==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 [[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]] | Information on the Fonts available for this component are available here. [[Component:_ID_1b08885c_807e_4631_930e_a4fef06159dc|GLCD Font Subcomponent]] | ||
| Line 51: | Line 53: | ||
| ''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
| + | |||
| + | |||
| Line 99: | Line 103: | ||
| | colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour.  | | 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'' | ||
| + | |} | ||
| + | |||
| + | |||
| + | ===DrawArc=== | ||
| + | {| 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;" | '''DrawArc''' | ||
| + | |- | ||
| + | | colspan="2" | Draws an arc either as an outline or as a filled object.  | ||
| + | |- | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | X | ||
| + | |- | ||
| + | | colspan="2" | Center X coordinate  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | Y | ||
| + | |- | ||
| + | | colspan="2" | Center Y coordinate  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | Radius | ||
| + | |- | ||
| + | | colspan="2" | Radius, distance of edge from the centre coordinates  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| + | | width="90%" | StartAngle | ||
| + | |- | ||
| + | | colspan="2" | Angle to start drawing, in degrees  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| + | | width="90%" | EndAngle | ||
| + | |- | ||
| + | | colspan="2" | Angle to end drawing, in degrees  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | Resolution | ||
| + | |- | ||
| + | | colspan="2" | Number of lines to draw from the center to the outer edge, 0=Fill  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| + | | width="90%" | Transparent | ||
| + | |- | ||
| + | | colspan="2" | Chooses the transparency - 0 = Arc contains background colour, 1 = Arc contains previous pixel data.  | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| + | | width="90%" | Solid | ||
| + | |- | ||
| + | | colspan="2" | Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc contains foreground colour.  | ||
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 248: | Line 306: | ||
| | 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" |   | ||
| + | |- | ||
| + | | 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'' | ||
| + | |} | ||
| + | |||
| + | |||
| + | ===DrawRoundedRectangle=== | ||
| + | {| 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;" | '''DrawRoundedRectangle''' | ||
| + | |- | ||
| + | | colspan="2" | Draws a rectangle with rounded corners  | ||
| + | |- | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | X1 | ||
| + | |- | ||
| + | | colspan="2" |   | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | Y1 | ||
| + | |- | ||
| + | | colspan="2" |   | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | X2 | ||
| + | |- | ||
| + | | colspan="2" |   | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | Y2 | ||
| + | |- | ||
| + | | colspan="2" |   | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| + | | width="90%" | Radius | ||
| |- | |- | ||
| | colspan="2" |   | | colspan="2" |   | ||
| Line 419: | Line 526: | ||
| |- | |- | ||
| | colspan="2" | 0=White, 1=Black  | | 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'' | ||
| + | |} | ||
| + | |||
| + | |||
| + | ===SetContrast=== | ||
| + | {| 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;" | '''SetContrast''' | ||
| + | |- | ||
| + | | colspan="2" | Set the contrast level from 1 to 255  | ||
| + | |- | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| + | | width="90%" | ContrastLevel | ||
| + | |- | ||
| + | | colspan="2" |   | ||
| |- | |- | ||
| | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 616: | Line 742: | ||
| |- | |- | ||
| | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | ||
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" |  | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation | 
| |- | |- | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| − | | width="90%" |  | + | | width="90%" | Component Label | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" |   | 
| |- | |- | ||
| − | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | 
| − | | width="90% | + | | width="90%" | Component Label Scale | 
| |- | |- | ||
| + | | colspan="2" | The label scale can be change if the amout of text is too wide for the display   | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| − | | width="90%" |  | + | | 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" |  | + | | colspan="2" | Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.  | 
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | 
| − | | width="90%" |  | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Fonts | 
| |- | |- | ||
| − | |||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| − | | width="90%" |  | + | | width="90%" | Font Count | 
| |- | |- | ||
| − | | colspan="2" |  | + | | 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="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | ||
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" |  | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0 | 
| |- | |- | ||
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| − | | width="90%" |  | + | | width="90%" | Font | 
| |- | |- | ||
| − | | colspan="2" |   | + | | colspan="2" | Font picker to decide which font to use on your display.  | 
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | 
| − | | width="90%" |  | + | | width="90%" | Bytes Required | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Number of bytes required in program memory to store the selected font.  | 
| |- | |- | ||
| − | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | 
| − | | width="90%" |  | + | | width="90%" | Character Spacing | 
| |- | |- | ||
| − | | colspan="2" |  | + | | colspan="2" | Sets the number of blank pixels between each character when printing text.  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| |} | |} | ||
| + | |||
| + | ==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:13, 22 October 2025
| Author | Matrix Ltd | 
| Version | 1.4 | 
| Category | Graphical Monochrome | 
Contents
- 1 GLCD (SH1106) I2C component
- 2 Version information
- 3 Detailed description
- 4 Examples
- 5 Macro reference
- 5.1 BPlot
- 5.2 ClearDisplay
- 5.3 DrawArc
- 5.4 DrawCircle
- 5.5 DrawEllipse
- 5.6 DrawLine
- 5.7 DrawRectangle
- 5.8 DrawRoundedRectangle
- 5.9 Initialise
- 5.10 Print
- 5.11 PrintNumber
- 5.12 ReadFontStat
- 5.13 ReadFontWidth
- 5.14 SetBackgroundColour
- 5.15 SetContrast
- 5.16 SetDisplayOrientation
- 5.17 SetFontScaler
- 5.18 SetForegroundColour
- 5.19 Write_Command
 
- 6 Property reference
- 7 Component Source Code
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
DrawCircle
DrawEllipse
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
DrawRoundedRectangle
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 | 
PrintNumber
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
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
SetFontScaler
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
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












