Documentation ¶
Index ¶
- Constants
- func ColorToRgb565(c color.Color, backgroundColor uint16) uint16
- func Rgb565ToRgb(c uint16) (r, g, b uint16)
- type BaseCanvas
- type Canvas
- func (d *Canvas) Clear()
- func (d *Canvas) DrawImage(img image.Image)
- func (d *Canvas) Flush()
- func (d *Canvas) FlushDirectly(buffer []byte)
- func (d *Canvas) GetColor(x, y int) color.Color
- func (d *Canvas) GetRGB565(x, y int) uint16
- func (d *Canvas) SetColor(x, y int, c color.Color)
- func (d *Canvas) SetRGB565(x, y int, c uint16)
- type ColorMode
- type PIN
- type SPI
- type ST7789
- func (s *ST7789) ColorMode(mode ColorMode)
- func (s *ST7789) Command(data byte)
- func (s *ST7789) ExchangeData(isData bool, data []byte)
- func (s *ST7789) FlushBitBuffer(x0, y0, x1, y1 int, buffer []byte)
- func (s *ST7789) GetCanvas(x0, y0, x1, y1 int) *Canvas
- func (s *ST7789) GetFullScreenCanvas() *Canvas
- func (s *ST7789) HardReset()
- func (s *ST7789) InversionMode(enable bool)
- func (s *ST7789) PowerSave(mode uint8)
- func (s *ST7789) Rotation(rotation uint8)
- func (s *ST7789) SendData(data ...byte)
- func (s *ST7789) SetWindow(x0, y0, x1, y1 int)
- func (s *ST7789) Size() *image.Point
- func (s *ST7789) SleepMode(enable bool)
- func (s *ST7789) SoftReset()
- type ScreenType
Constants ¶
View Source
const ( SPI_CLOCK_HZ = 40000000 // 40 MHz ST7789_NOP = 0x00 ST7789_SWRESET = 0x01 // 软复位指令 ST7789_RDDID = 0x04 ST7789_RDDST = 0x09 ST7789_RDDPM = 0x0A ST7789_RDDMADCTL = 0x0B ST7789_RDDCOLMOD = 0x0C ST7789_RDDIM = 0x0D ST7789_RDDSM = 0x0E ST7789_RDDSDR = 0x0F ST7789_SLPIN = 0x10 ST7789_SLPOUT = 0x11 ST7789_PTLON = 0x12 ST7789_NORON = 0x13 ST7789_INVOFF = 0x20 ST7789_INVON = 0x21 ST7789_GAMSET = 0x26 ST7789_DISPOFF = 0x28 ST7789_DISPON = 0x29 ST7789_CASET = 0x2A ST7789_RASET = 0x2B ST7789_RAMWR = 0x2C ST7789_RAMRD = 0x2E ST7789_PTLAR = 0x30 ST7789_VSCRDEF = 0x33 ST7789_TEOFF = 0x34 ST7789_TEON = 0x35 ST7789_MADCTL = 0x36 ST7789_VSCRSADD = 0x37 ST7789_IDMOFF = 0x38 ST7789_IDMON = 0x39 ST7789_COLMOD = 0x3A ST7789_RAMWRC = 0x3C ST7789_RAMRDC = 0x3E ST7789_TESCAN = 0x44 ST7789_RDTESCAN = 0x45 ST7789_WRDISBV = 0x51 ST7789_RDDISBV = 0x52 ST7789_WRCTRLD = 0x53 ST7789_RDCTRLD = 0x54 ST7789_WRCACE = 0x55 ST7789_RDCABC = 0x56 ST7789_WRCABCMB = 0x5E ST7789_RDCABCMB = 0x5F ST7789_RDABCSDR = 0x68 ST7789_RDID1 = 0xDA ST7789_RDID2 = 0xDB ST7789_RDID3 = 0xDC ST7789_RAMCTRL = 0xB0 ST7789_RGBCTRL = 0xB1 ST7789_PORCTRL = 0xB2 ST7789_FRCTRL1 = 0xB3 ST7789_GCTRL = 0xB7 ST7789_DGMEN = 0xBA ST7789_VCOMS = 0xBB ST7789_LCMCTRL = 0xC0 ST7789_IDSET = 0xC1 ST7789_VDVVRHEN = 0xC2 ST7789_VRHS = 0xC3 ST7789_VDVSET = 0xC4 ST7789_VCMOFSET = 0xC5 ST7789_FRCTR2 = 0xC6 ST7789_CABCCTRL = 0xC7 ST7789_REGSEL1 = 0xC8 ST7789_REGSEL2 = 0xCA ST7789_PWMFRSEL = 0xCC ST7789_PWCTRL1 = 0xD0 ST7789_VAPVANEN = 0xD2 ST7789_CMD2EN = 0xDF5A6902 ST7789_PVGAMCTRL = 0xE0 ST7789_NVGAMCTRL = 0xE1 ST7789_DGMLUTR = 0xE2 ST7789_DGMLUTB = 0xE3 ST7789_GATECTRL = 0xE4 ST7789_PWCTRL2 = 0xE8 ST7789_EQCTRL = 0xE9 ST7789_PROMCTRL = 0xEC ST7789_PROMEN = 0xFA ST7789_NVMSET = 0xFC ST7789_PROMACT = 0xFE ST7789_POWSAVE = 0xbc ST7789_DLPOFFSAVE = 0xbd // Colours for convenience ST7789_BLACK = 0x0000 // 0b 00000 000000 00000 ST7789_BLUE = 0x001F // 0b 00000 000000 11111 ST7789_GREEN = 0x07E0 // 0b 00000 111111 00000 ST7789_RED = 0xF800 // 0b 11111 000000 00000 ST7789_CYAN = 0x07FF // 0b 00000 111111 11111 ST7789_MAGENTA = 0xF81F // 0b 11111 000000 11111 ST7789_YELLOW = 0xFFE0 // 0b 11111 111111 00000 ST7789_WHITE = 0xFFFF // 0b 11111 111111 11111 COLOR_MODE_65K = ColorMode(0x50) COLOR_MODE_262K = ColorMode(0x60) COLOR_MODE_12BIT = ColorMode(0x03) COLOR_MODE_16BIT = ColorMode(0x05) COLOR_MODE_18BIT = ColorMode(0x06) COLOR_MODE_16M = ColorMode(0x07) // Screen320X240 Width 320,Height 240 Screen320X240 = ScreenType(0) // Screen240X240 Width 240,Height 240 Screen240X240 = ScreenType(1) // Screen135X240 Width 135,Height 240 Screen135X240 = ScreenType(2) )
Variables ¶
This section is empty.
Functions ¶
func ColorToRgb565 ¶
ColorToRgb565
@Description: 转换 color.Color 为RGB565 @param c 当前颜色 @param backgroundColor 背景颜色(RGB565) @return uint16 RGB565色值
func Rgb565ToRgb ¶
Rgb565ToRgb
@Description: 转换RGB565为标准RGB @param c RGB565色值 @return r RGB(R色值) @return g RGB(G色值) @return b RGB(B色值)
Types ¶
type BaseCanvas ¶
type Canvas ¶
type Canvas struct { X0 int // X轴画布起始偏移 Y0 int // Y轴画布起始偏移 X1 int // X轴画布结束偏移 Y1 int // Y轴画布结束偏移 Width int // 画布宽度 Height int // 画布高度 Buffer []byte // 缓冲区 // contains filtered or unexported fields }
Canvas @Description: 画布
func (*Canvas) FlushDirectly ¶
FlushDirectly
@Description: 直接将buffer内容绘制到画布所对应的显示区域,该方法不会覆盖画布缓冲区 @receiver d @param buffer
func (*Canvas) GetColor ¶
GetColor
@Description: 获取缓冲区指定坐标RGBA色值(由于该值从RBG565转换而来,故A值始终为1) @receiver d @param x X轴坐标 @param y Y轴坐标 @return color.Color
func (*Canvas) GetRGB565 ¶
GetRGB565
@Description: 获取缓存区指定坐标的RGB565色值 @receiver d @param x X轴坐标 @param y Y轴坐标 @return uint16 RGB565色值
type PIN ¶
type PIN interface { // // High // @Description:输出为高电频 // High() // // Low // @Description:设置为低电频 // Low() // // SetOutput // @Description:设置为输出模式 // SetOutput() }
type ST7789 ¶
type ST7789 struct {
// contains filtered or unexported fields
}
func NewST7789 ¶
func NewST7789(spi SPI, dc, rst, led PIN, screen ScreenType) *ST7789
NewST7789
@Description: ST7789显示驱动 @param spi SPI通信端口 @param dc 引脚DC @param rst 引脚RES @param led 引脚BLK @param screen 显示器类型 @return *ST7789 @return error 创建失败
func (*ST7789) ColorMode ¶
ColorMode
@Description: 设置颜色模式 @receiver s @param mode COLOR_MODE_65K, COLOR_MODE_262K, COLOR_MODE_12BIT, COLOR_MODE_16BIT, COLOR_MODE_18BIT, COLOR_MODE_16M
func (*ST7789) ExchangeData ¶
ExchangeData
@Description: 将数据写入SPI,isData为true表示写入的是数据,反之则是命令(非线程安全,请使用 Tx 包裹执行) @receiver s @param data 需要发送的数据 @param isData 是否是数据类型
func (*ST7789) FlushBitBuffer ¶
FlushBitBuffer
@Description: 将画布上的图像绘制到屏幕上 @receiver s @param X0 区域开始X轴位置(包含) @param Y0 区域开始Y轴位置(包含) @param X1 区域结束X轴位置(包含) @param Y1 区域结束Y轴位置(包含) @param Buffer RGB565图像
func (*ST7789) GetCanvas ¶
GetCanvas
@Description: 获取画布 @receiver s @param X0 区域X轴起始(包含) @param Y0 区域Y轴起始(包含) @param X1 区域X轴截止(包含) @param Y1 区域X轴截止(包含) @return *Canvas
func (*ST7789) GetFullScreenCanvas ¶
GetFullScreenCanvas
@Description: 获取全屏画布 @receiver s @return *Canvas 画布
func (*ST7789) InversionMode ¶
InversionMode
@Description: 是否启用显示反转模式 @receiver s @param enable 是否启用
func (*ST7789) PowerSave ¶
PowerSave
@Description: @receiver s @param mode 0 - off 1 - idle 2 - normal 4 - display off
func (*ST7789) Rotation ¶
Rotation
@Description: 设置显示旋转 @receiver s @param rotation 0-Portrait 1-Landscape 2-Inverted Portrait 3-Inverted Landscape
func (*ST7789) SetWindow ¶
SetWindow
@Description: Set the pixel address window for proceeding drawing commands. X0 and X1 should define the minimum and maximum x pixel bounds. Y0 and Y1 should define the minimum and maximum y pixel bound. @receiver s @param X0 区域开始X轴位置(包含) @param Y0 区域开始Y轴位置(包含) @param X1 区域结束X轴位置(包含) @param Y1 区域结束Y轴位置(包含)
Click to show internal directories.
Click to hide internal directories.