st7735_controllers - Anobium/Great-Cow-BASIC-Help GitHub Wiki
This section covers GLCD devices that use the ST7735 graphics controller. The ST7735 or ST7735R is a single-chip controller/driver for 262K-color, graphic type TFT-LCD.
Great Cow BASIC supports 65K-color mode operations.
The Great Cow BASIC constants shown below control the configuration of the ST7735 or ST7735R controller. Great Cow BASIC supports an 8 bit bus connectivity. The 8 bit must be a single port of consective bits - this is shown in the tables below.
To use the ST7735 driver simply include the following in your user code. This will initialise the driver.
#include <glcd.h>
#define GLCD_TYPE GLCD_TYPE_ST7735R
#define ST7735TABCOLOR ST7735_BLACKTAB ; can also be ST7735_GREENTAB or ST7735_REDTAB or GLCD_TYPE_ST7735R_160_80
'Pin mappings for ST7735
#define GLCD_DC porta.0 'example port setting
#define GLCD_CS porta.1 'example port setting
#define GLCD_RESET porta.2 'example port setting
#define GLCD_DI porta.3 'example port setting
#define GLCD_DO porta.4 'example port setting
#define GLCD_SCK porta.5 'example port setting
The Great Cow BASIC constants for control display characteristics are shown in the table below.
Constants | Controls | Options |
---|---|---|
|
|
|
|
Specifies the type of ST7735 chipset. The default is |
Options are |
|
Not Available for this controller. |
Not applicable. |
|
Specifies the output pin that is connected to Data/Command IO pin on the GLCD. |
Required |
|
Specifies the output pin that is connected to Chip Select (CS) on the GLCD. |
Required |
|
Specifies the output pin that is connected to Reset pin on the GLCD. |
Required |
|
Specifies the output pin that is connected to Data In (GLCD out) pin on the GLCD. |
Required |
|
Specifies the output pin that is connected to Data Out (GLCD in) pin on the GLCD. |
Required |
|
Specifies the output pin that is connected to Clock (CLK) pin on the GLCD. |
Required |
|
Specifies that hardware SPI will be used |
SPI ports MUST be defined that match the SPI module for each specific microcontroller #define ST7735_HardwareSPI |
HWSPIMode |
Specifies the speed of the SPI communications for Hardware SPI only. |
Optional defaults to MASTERFAST. Options are MASTERSLOW, |
|
Specifies the adjustment made to the X axis when writing to the GLCD. This is used to correct any geometry correction required for specific GLCDs. |
Optional. Defaults are set for each specific GLCD. |
|
Specifies the adjustment made to the Y axis when writing to the GLCD. This is used to correct any geometry correction required for specific GLCDs. |
Optional. Defaults are set for each specific GLCD. |
The Great Cow BASIC constants for control display characteristics are shown in the table below.
Constants | Controls | Default |
---|---|---|
|
The width parameter of the GLCD |
|
|
The height parameter of the GLCD |
|
|
Specifies the font width of the Great Cow BASIC font set. |
|
The Great Cow BASIC commands supported for this GLCD are shown in the table below. Always review the appropiate library for the latest full set of supported commands.
Command | Purpose | Example |
---|---|---|
GLCDCLS |
Clear screen of GLCD | GLCDCLS |
GLCDPrint |
Print string of characters on GLCD using GCB font set | GLCDPrint( Xposition, Yposition, Stringvariable ) |
GLCDDrawChar |
Print character on GLCD using GCB font set | GLCDDrawChar( Xposition, Yposition, CharCode ) |
GLCDDrawString |
Print characters on GLCD using GCB font set | GLCDDrawString( Xposition, Yposition, Stringvariable ) |
Box |
Draw a box on the GLCD to a specific size | Box ( Xposition1, Yposition1, Xposition2, Yposition2, [Optional In LineColour as 0 or 1] ) |
FilledBox |
Draw a box on the GLCD to a specific size that is filled with the foreground colour. | FilledBox (Xposition1, Yposition1, Xposition2, Yposition2, [Optional In LineColour 0 or 1] ) |
Line |
Draw a line on the GLCD to a specific length that is filled with the specific attribute. | Line ( Xposition1, Yposition1, Xposition2, Yposition2, [Optional In LineColour 0 or 1] ) |
PSet |
Set a pixel on the GLCD at a specific position that is set with the specific attribute. | PSet(Xposition, Yposition, Pixel Colour 0 or 1) |
GLCDWriteByte |
Set a byte value to the controller, see the datasheet for usage. | GLCDWriteByte (LCDByte) |
GLCDReadByte |
Read a byte value from the controller, see the datasheet for usage. | bytevariable = GLCDReadByte |
ST7735_[color] |
Specify color as a parameter for many GLCD commands | Any color can be defined using a valid hexidecimal word value between 0x0000 to 0xFFFF., see http://www.barth-dev.de/online/rgb565-color-picker/ for a wider range of color parameters. |
For a ST7735 datasheet, please refer here.
For a ST7735R datasheet, please refer here.
Example:
;Chip Settings
#chip 16F1937,32
#config MCLRE_ON
#include <glcd.h>
'Defines for ST7735
GLCD_TYPE GLCD_TYPE_ST7735R
'Pin mappings for ST7735
GLCD_DC porta.0
GLCD_CS porta.1
GLCD_RESET porta.2
GLCD_DI porta.3
GLCD_DO porta.4
GLCD_SCK porta.5
GLCDPrint(0, 0, "Test of the ST7735 Device")
end
For more help, see GLCDCLS, GLCDDrawChar, GLCDPrint, GLCDReadByte, GLCDWriteByte or Pset
Supported in <GLCD.H>