Author
|
Matrix Ltd
|
Version
|
1.6
|
Category
|
Graphical Monochrome
|
GLCD (ST7920) component
Graphical display component designed to work with the ST7920 type monochrome displays. Transfers data using an 8-bit/4-bit/SPI digital data bus.
Version information
Library Version, Component Version, Date, Author, Info
11, 1.4, 03-05-24, BR, Added SPI data mode to the component to work with serial displays
12, 1.4, 20-06-24, BR, Fixed a bug where read SPI pixel data was being repacked incorrectly
13, 1.5, 25-06-24, BR, Added an option to allow the pixel data to be buffer locally
14, 1.5, 25-06-24, BR, Fixed minor bug in pixel buffer addressing
15, 1.6, 25-06-24, BR, Allows buffer addressing to work better with variable pixel width/height
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
|
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
|
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 foreground
|
- BYTE
|
PixelColour
|
0=White, 1=Black
|
- 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.
|
- 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
|
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
|
|
Color Bit Depth
|
Number of bits of colour depth available on the display
|
|
Red Bit Depth
|
Number of bits of Red colour depth on the display
|
|
Green Bit Depth
|
Number of bits of Green colour depth on the display
|
|
Blue Bit Depth
|
Number of bits of Blue colour depth on the display
|
|
Connections
|
|
Data Mode
|
|
|
Local Buffer
|
The display needs pixels to be assigned in blocks of 8 so for the display to function correctly we need to be able to know the value of pixels on the display to be able to draw without corruption. No - Use the display itself as a pixel buffer Yes - Use the local RAM as a pixel buffer
|
|
Reset
|
Reset pin
|
|
Parrallel Pins
|
|
Data0
|
Data Pin 0
|
|
Data1
|
Data Pin 1
|
|
Data2
|
Data Pin 2
|
|
Data3
|
Data Pin 3
|
|
Data4
|
Data Pin 4
|
|
Data5
|
Data Pin 5
|
|
Data6
|
Data Pin 6
|
|
Data7
|
Data Pin 7
|
|
RS
|
Address pin to tell the display if we are sending commands or data
|
|
Enable
|
Enable pin used to clock data into the display
|
|
RW
|
Read Write pin to set the display data mode
|
|
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
|
|
|
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_GLCD_ST7920.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_GLCD_ST7920.fcfx