Difference between revisions of "Component: GLCD (SH1106) SPI (Graphical Monochrome)"
From Flowcode Help
Jump to navigationJump to search| (8 intermediate revisions by 2 users not shown) | |||
| Line 5: | Line 5: | ||
| |- | |- | ||
| | width="20%" style="color:gray;" | Version | | width="20%" style="color:gray;" | Version | ||
| − | |  | + | | 13.0 | 
| |- | |- | ||
| | width="20%" style="color:gray;" | Category | | width="20%" style="color:gray;" | Category | ||
| Line 15: | Line 15: | ||
| Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 4-wire SPI interface.   | Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 4-wire SPI 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== | ==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 44: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| Line 56: | Line 52: | ||
| + | ''<span style="color:red;">No additional examples</span>'' | ||
| Line 64: | Line 61: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| Line 115: | 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 264: | 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 459: | Line 550: | ||
| |- | |- | ||
| | 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 0 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 546: | Line 656: | ||
| + | ===Write_Data=== | ||
| + | {| 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;" | '''Write_Data''' | ||
| + | |- | ||
| + | | colspan="2" |   | ||
| + | |- | ||
| + | |- | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| + | | width="90%" | data | ||
| + | |- | ||
| + | | 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'' | ||
| + | |} | ||
| Line 582: | Line 709: | ||
| | width="90%" | Foreground Color | | width="90%" | Foreground Color | ||
| |- | |- | ||
| − | | colspan="2" | Specifies the initial foreground color.  | + | | colspan="2" | Specifies the initial foreground color. R,G,and B must be the same value or will default to white  | 
| |- | |- | ||
| | width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | ||
| Line 675: | Line 802: | ||
| | colspan="2" | Font picker to decide which font to use on your display.  | | 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" | Sets the number of  | + | | colspan="2" | Sets the number of blank pixels between each character when printing text.  | 
| |- | |- | ||
| | 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]] | ||
| Line 728: | Line 855: | ||
| | colspan="2" |   | | colspan="2" |   | ||
| |} | |} | ||
| + | |||
| + | ==Component Source Code== | ||
| + | |||
| + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GLCD_SH1106_SPI.fcfx FC_Comp_Source_GLCD_SH1106_SPI.fcfx] | ||
| + | |||
| + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_SH1106_SPI.fcfx FC_Comp_Source_GLCD_SH1106_SPI.fcfx] | ||
Latest revision as of 14:13, 22 October 2025
| Author | Matrix Ltd | 
| Version | 13.0 | 
| Category | Graphical Monochrome | 
Contents
- 1 GLCD (SH1106) SPI 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 Plot
- 5.11 Print
- 5.12 PrintNumber
- 5.13 ReadFontStat
- 5.14 ReadFontWidth
- 5.15 SetBackgroundColour
- 5.16 SetContrast
- 5.17 SetDisplayOrientation
- 5.18 SetFontScaler
- 5.19 SetForegroundColour
- 5.20 Write_Command
- 5.21 Write_Data
 
- 6 Property reference
- 7 Component Source Code
GLCD (SH1106) SPI component
Graphical display component designed to work with the SH1106 type monochrome displays. Transfers data using a 4-wire SPI 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 | 
Plot
|   | Plot | 
| Sets a pixel with the current foreground colour at pixel location X, Y. | |
|  - UINT | X1 | 
|  - UINT | Y1 | 
|  - 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 0 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 | 
Write_Data
|   | Write_Data | 
|  - BYTE | data | 
|  - VOID | Return | 
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_GLCD_SH1106_SPI.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_GLCD_SH1106_SPI.fcfx












