Jump to content

Component: GLCD (E-BLOCKS 3) (Graphical Color)

From Flowcode Help
Author Matrix Ltd
Version 1.0
Category Graphical Color


GLCD (E-BLOCKS 3) component

Graphical display component designed to work with the E-Blocks 3 colour touchscreen display.

Version information

Library Version, Component Version, Date, Author, Info
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
20, 20.0, 02-08-24, MW, Added an aditional font count of 4, total font count of 8
23, 23.0, 28-11-24, MW, Fixed error trap for lines when y = 0
23, 23.0, 28-11-24, MW, Fixed shapes colour background  not working
23, 23.0, 29-11-24, MW, Fixed initial background colour not working
  


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


BacklightBrightness

BacklightBrightness
Adjusts the brightness of the backlight. 
- BYTE Brightness
Range: 0 - 255, 0=Off, 255=Max 
- 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 
- UINT StartAngle
Angle to start drawing, in degrees 
- UINT 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


DrawBitmap

DrawBitmap
Draws a bitmap image loaded from the SD card FileInit must be called first to ensure the File System is setup. 
- STRING Filename
Bitmap file to open from current directory on SD card 8.3 format 
- UINT X1
X Axis coordinate, specifies the location of the left edge of the bitmap image 
- UINT Y1
Y Axis coordinate, specifies the location of the top edge of the bitmap image 
- BYTE Orientation
0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW 
- BYTE Transparency
0=Off, 1=On Don't Draw Any Pixels which match the transparent colour 
- BYTE Flip
0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth 
- BYTE Return


DrawBitmapScaled

DrawBitmapScaled
Draws a bitmap image loaded from the SD card scaled to the defined width and height. FileInit must be called first to ensure the File System is setup. 
- STRING Filename
Bitmap file to open from current directory on SD card 8.3 format 
- UINT X1
X Axis coordinate, specifies the location of the left edge of the bitmap image 
- UINT Y1
Y Axis coordinate, specifies the location of the top edge of the bitmap image 
- UINT Width
The dimension to draw the bitmap in pixels 
- UINT Height
The dimension to draw the bitmap in pixels 
- BYTE Orientation
0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW 
- BYTE Transparency
0=Off, 1=On Don't Draw Any Pixels which match the transparent colour 
- BYTE Flip
0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth 
- BYTE 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


DrawQRCode

DrawQRCode
Draws a bitmap image loaded from the SD card FileInit must be called first to ensure the File System is setup. 
- UINT X1
X Axis coordinate, specifies the location of the left edge of the bitmap image 
- UINT Y1
Y Axis coordinate, specifies the location of the top edge of the bitmap image 
- BYTE Scaler
Size of each block in pixels: 1=33x33, 2=66x66, 3=99x99, etc 
- STRING Text
Data to embed into the QR code. e.g. "www.myURL.com" 
- 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


PrintFloat

PrintFloat
This macro prints a floating point number to the Graphical LCD. 
- FLOAT Number
Floating point number to send to the display. 
- BYTE NumDP
Number of decimal points 
- UINT X
X pixel coordinate to set the output string position. 
- UINT Y
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
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


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


SendBinaryAction

SendBinaryAction
Function to transfer the display manager edits through to the web mirror. 
- STRING Data
 
- VOID Return


SendBinaryScene

SendBinaryScene
Function to transfer the binary scene through to the web mirror. 
- BYTE Data
Binary scene data 
- UINT Length
Number of bytes to send 
- VOID 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


SetBitmapTransparency

SetBitmapTransparency
Assigns the colour to use as the transparent mask. Anything in this specific colour will not be drawn when the DrawBitmap->Transparent parameter is set. 
- BYTE R
Colour channel. Range: 0 to 255 
- BYTE G
Colour channel. Range: 0 to 255 
- BYTE B
Colour channel. Range: 0 to 255 
- 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


SetExternalFont

SetExternalFont
This macro overrides the default font with a substitute font file. The binary font file must be placed onto the SD card inside the Fonts folder. 
- BYTE Font
Selects which Font to override Range: 0 to (Font Count - 1) 
- STRING Str
Binary font file to use in standard 8.3 file format 
- BYTE CharacterSpacing
Number of pixel columns added in between each character 
- BYTE SpaceWidth
Number of pixel columns used for a space character 
- 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


TouchCheck

TouchCheck
Checks to see if the screen has been touched. Returns 1 for a new valid touch and 0 for no touch. 
- BOOL Return


TouchReadCoord

TouchReadCoord
Checks to see if the screen has been touched. Returns 1 for a new valid touch and 0 for no touch. 
- BYTE Axis
0=X, 1=Y 
- UINT Return


Window

Window
 
- 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
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
Channel
UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. 
TX
Pin to be used for Transmit data 
RX
Pin to be used for Receive data 
EB3 Web Mirror
Allows display manager scenes to be forwarded to a web parser that can replicate the on screen display and touch system. Allows the display to be monitored and controlled via a web enabled device like a mobile phone. 
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. 
Font Filename
Filename of font stored on SD card inside the Fonts folder 
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. 
Space Width
Sets the number of horizontal pixels used to represent a space character. 
Simulation
Component Label
 
User Label Text
Text to display 
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. 
Bitmaps Folder
Location containing the bitmaps for the simulation. $(scrdir) uses the Flowcode project directory. 
Export Binary Fonts
Allows all selected fonts to be exported as a binary format that can be loaded from an SD card. When set to yes loops through all selected fonts and outputs .bin files into the project directory. May take some time to complete, resets back to no when complete. 

Component Source Code

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

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