Author
|
Matrix Ltd
|
Version
|
2.0
|
Category
|
Graphical Color
|
GLCD (ILI9488 SPI) component
Graphical display component designed to work with the ILI9488 controller IC Based on the ILI9488 16-bit colour graphical controller IC. Uses the SPI CAL component to allow for faster serial display communications.
Version information
Library Version, Component Version, Date, Author, Info
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
Library Version, Component Version, Date, Author, Info
24, 24.0, 17-07-24, MW,Fix but that prevents lines being drawn if x or y value is equal to max resolution.
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
ILI948 SPI gLCD Demo for Cap Touch Display on Rowland Technology PCB
Image for Test_card_6_for_Rowland
Place the bitmap file in the same folder as the project file for the simulation to work.
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
|
|
- 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.
|
|
Flip X
|
Flips the horizontal display axis in hardware.
|
|
Flip Y
|
Flips the vertical display axis in hardware.
|
|
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.
|
|
Invert Colour
|
No: A set output will light the corresponding LED Yes: A clear output will light the corresponding LED
|
|
Queue Fast Pixels
|
An optimisation for ESP32 based devices where Fast pixels are queued up and all drawn together. Acts to speed up writes to the display when drawing lines, rectangles, ellipses, circles, none transparent strings etc.
|
|
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
|
SPI Channel selector
|
|
Prescale
|
Prescale option selector
|
|
MOSI
|
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.
|
|
MISO
|
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode.
|
|
CLK
|
SPI Clock Pin CLK - The Clock signal is driven by the SPI master.
|
|
Toggle CS
|
Allows the CS pin to be toggled by the component when communicating with the display. No - Allows for better performace, the display is always enabled Yes - Allows for the display pins to be multiplexed with other functionality without the risk of display corruption
|
|
Chip Select
|
Chip select pin connection
|
|
D/C
|
Instruction / Command pin connection
|
|
Reset
|
Reset pin connection
|
|
LED
|
LED backlight strobe pin connection
|
|
Use Backlight Pin
|
|
|
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
|
|
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.
|
|
Simulate Comms
|
Allows the communications to be simulated to either see the waveforms on the data recorder or to drive an injector component.
|
Component Source Code
Please click here to download the component source project: FC_Comp_Source_GLCD_ILI9488_SPI.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_GLCD_ILI9488_SPI.fcfx