Jump to content

Component: Colour GLCD (BL0157) (E-blocks 2): Difference between revisions

From Flowcode Help
No edit summary
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
|-
|-
| width="20%" style="color:gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.6
| 9.9
|-
|-
| width="20%" style="color:gray;" | Category
| width="20%" style="color:gray;" | Category
Line 14: Line 14:
==Colour GLCD (BL0157) component==
==Colour GLCD (BL0157) component==
Graphical display component designed to work with the BL0157 E-block. Based on the ILI9163C 16-bit colour graphical controller IC.
Graphical display component designed to work with the BL0157 E-block. Based on the ILI9163C 16-bit colour graphical controller IC.
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx]


==Detailed description==
==Detailed description==
Line 55: Line 49:


{{Fcfile|BL0157_Example.fcfx|BL0157 Example}}
{{Fcfile|BL0157_Example.fcfx|BL0157 Example}}
===BL0157 Maze Builder===
{{Fcfile|Maze_Builder_gLCD.fcfx|Maze Builder gLCD}}
Example to draw a randomly generated 2D maze on an BL0157 graphical display.
[[File:MazeBuildGLCD.jpg]]
===BL0157 Drawing 3D Objects With Perspective===
{{Fcfile|3D_Manipulations.fcfx|3D Manipulations}}
Example should show the following on the display on the panel and on the hardware. The two switches allow you to move closer to or away from the object. The perspective provides more and more distortion to the object the closer you get.
[[File:3DClose.jpg]]
[[File:3DFar.jpg]]


==Macro reference==
==Macro reference==
Line 118: Line 133:
| 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 267: Line 336:
| 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 666: Line 784:
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Use SPI
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
Line 730: Line 853:
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Display Method
| width="90%" | Component Label
|-
| colspan="2" |  
|-
| 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  
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Physical Orientation
|-
|-
| colspan="2" | Chooses which method to use when drawing to the gLCD component The bitmap is the more common mode but may run slowly on some machines. The point cloud should run faster but may use more memory.  
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware. 
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx FC_Comp_Source_EBlocks2_Colour_GLCD_BL0157.fcfx]

Latest revision as of 08:58, 9 June 2025

Author Matrix Ltd
Version 9.9
Category E-blocks 2


Colour GLCD (BL0157) component

Graphical display component designed to work with the BL0157 E-block. Based on the ILI9163C 16-bit colour graphical controller IC.

Detailed description

No detailed description exists yet for this component

Examples

A simple example that shows how to use some common functions.

Now can take advantage of SPI faster speed, instead of bit banging

BL0157 Example


BL0157 Maze Builder

Maze Builder gLCD

Example to draw a randomly generated 2D maze on an BL0157 graphical display.


BL0157 Drawing 3D Objects With Perspective

3D Manipulations

Example should show the following on the display on the panel and on the hardware. The two switches allow you to move closer to or away from the object. The perspective provides more and more distortion to the object the closer you get.

Macro reference

BPlot

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


BacklightOff

BacklightOff
Clears the backlight enable pin allowing the display backlight to switch off. Switching the backlight on and off at high speed allow the light to be dimmed. 
- VOID Return


BacklightOn

BacklightOn
Sets the backlight enable pin allowing the display backlight to switch on. Switching the backlight on and off at high speed allow the light to be dimmed. 
- 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


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


FastPlot

FastPlot
Sets a pixel with the current foreground colour at current pixel location. Not compatible with orientations other than 0. 
- 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


Plot

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


Print

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


PrintNumber

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


ReadFontStat

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


ReadFontWidth

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


SetBackgroundColour

SetBackgroundColour
Specifies the colour of the background by creating a mixture of red, green and blue.  
- BYTE Red
0 - 255 where 0 = no red and 255 = maximum red 
- BYTE Green
0 - 255 where 0 = no green and 255 = maximum green 
- BYTE Blue
0 - 255 where 0 = no blue and 255 = maximum blue 
- VOID Return


SetDisplayOrientation

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


SetFontScaler

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


SetForegroundColour

SetForegroundColour
Specifies the colour of the foreground by creating a mixture of red, green and blue.  
- BYTE Red
0 - 255 where 0 = no red and 255 = maximum red 
- BYTE Green
0 - 255 where 0 = no green and 255 = maximum green 
- BYTE Blue
0 - 255 where 0 = no blue and 255 = maximum blue 
- VOID Return


Window

Window
Specifies a full screen or sub window of pixels to draw. Useful when used with the FastPlot function to draw bitmaps at high speed. 
- UINT X1
 
- UINT Y1
 
- UINT X2
 
- UINT Y2
 
- 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
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
Use SPI
 
Data
Data pin connection 
Clock
Clock pin connection 
Chip Select
Chip select pin connection 
A0
Instruction / Command pin connection 
Reset
Reset pin connection 
LED
LED backlight strobe pin connection 
Fonts
Font Count
Specifies the number of fonts available to use on the display. 
Font 0
Font
Font picker to decide which font to use on your display. 
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
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. 

Component Source Code

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

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