eink - 墨水屏操作库#

本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!

常量#

常量

类型

解释

eink.MODEL_1in02d

number

1.02寸d

eink.MODEL_1in54

number

1.54寸

eink.MODEL_1in54_V2

number

1.54寸_V2

eink.MODEL_1in54b

number

1.54寸b

eink.MODEL_1in54b_V2

number

1.54寸b_V2

eink.MODEL_1in54_V3

number

1.54寸_V3

eink.MODEL_1in54c

number

1.54寸c

eink.MODEL_1in54f

number

1.54寸f

eink.MODEL_2in54b_V3

number

2.13寸b_V3

eink.MODEL_2in7

number

2.7寸

eink.MODEL_2in7b

number

2.7寸b

eink.MODEL_2in9

number

2.9寸

eink.MODEL_2in9_V2

number

2.9寸_V2

eink.MODEL_2in9bc

number

2.9寸bc

eink.MODEL_2in9b_V3

number

2.9寸b_V3

eink.MODEL_2in9d

number

2.9寸d

eink.MODEL_2in9f

number

2.9寸f

eink.MODEL_3in7

number

3.7寸

eink.font_opposansm8

font

8号字体

eink.font_unifont_t_symbols

font

符号字体

eink.font_open_iconic_weather_6x_t

font

天气字体

eink.font_opposansm10

font

10号字体

eink.font_opposansm12

font

12号字体

eink.font_opposansm16

font

16号字体

eink.font_opposansm18

font

18号字体

eink.font_opposansm20

font

20号字体

eink.font_opposansm22

font

22号字体

eink.font_opposansm24

font

24号字体

eink.font_opposansm32

font

32号字体

eink.font_opposansm8_chinese

font

8号中文字体

eink.font_opposansm8_chinese

font

10号中文字体

eink.font_opposansm12_chinese

font

12号中文字体

eink.font_opposansm16_chinese

font

16号中文字体

eink.font_opposansm18_chinese

font

18号中文字体

eink.font_opposansm20_chinese

font

20号中文字体

eink.font_opposansm22_chinese

font

22号中文字体

eink.font_opposansm24_chinese

font

24号中文字体

eink.font_opposansm32_chinese

font

32号中文字体

eink.setup(full, spiid, pin_busy, pin_reset, pin_dc, pin_cs)#

初始化eink

参数

传入值类型

解释

int

全屏刷新0,局部刷新1,默认是全屏刷新

int

所在的spi,默认是0

int

Busy 忙信号管脚

int

Reset 复位管脚

int

DC 数据命令选择管脚

int

CS 使能管脚

返回值

返回值类型

解释

boolean

成功返回true,否则返回false

例子


eink.sleep()#

进入休眠模式,再次使用时需要重新初始化

参数

返回值

例子


eink.clear(color, force)#

清除绘图缓冲区,默认不会马上刷新到设备

参数

传入值类型

解释

number

color 可选,默认1。刷屏颜色

bool

force 可选,默认false。如果为true则马上清屏

返回值

返回值类型

解释

nil

无返回值

例子


eink.setWin(width, height, rotate)#

设置窗口

参数

传入值类型

解释

int

width 宽度

int

height 高度

int

rotate 显示方向,0/1/2/3, 相当于旋转0度/90度/180度/270度

返回值

返回值类型

解释

nil

无返回值

例子


eink.getWin()#

获取窗口信息

参数

返回值

返回值类型

解释

int

width 宽

int

height 高

int

rotate 旋转方向

例子


eink.setFont(font)#

设置字体

参数

传入值类型

解释

userdata

字体

返回值

例子

-- 设置为字体,对之后的print有效
eink.setFont(eink.font_opposansm12_chinese)

eink.print(x, y, str, colored)#

绘制字符串

参数

传入值类型

解释

int

x坐标

int

y坐标

string

字符串

int

颜色, 可以是0或者1, 默认是0

返回值

返回值类型

解释

nil

无返回值

例子

-- 先设置字体, 然后写字
-- 可用字体取决于具体的固件, 如果没有你想要的大小,可以云编译一份自定义固件
-- font_opposansm8_chinese
-- font_opposansm10_chinese
-- font_opposansm12_chinese
-- font_opposansm14_chinese
-- font_opposansm16_chinese
eink.setFont(eink.font_opposansm12_chinese)
eink.print(10, 20, "LuatOS")

eink.show(x, y, noClear)#

将缓冲区图像输出到屏幕

参数

传入值类型

解释

int

x 输出的x坐标,默认0

int

y 输出的y坐标,默认0

bool

可选,默认false。如果为true则不进行清屏,直接刷上新内容

返回值

返回值类型

解释

nil

无返回值

例子


eink.draw(buff, buff2, noclear)#

直接输出数据到屏幕,支持双色数据

参数

传入值类型

解释

userdata

zbuff指针

userdata

zbuff指针

bool

可选,默认false。如果为true则不进行清屏,直接刷上新内容

返回值

返回值类型

解释

nil

无返回值

例子


eink.line(x, y, x2, y2, colored)#

缓冲区绘制线

参数

传入值类型

解释

int

起点x坐标

int

起点y坐标

int

终点x坐标

int

终点y坐标

返回值

返回值类型

解释

nil

无返回值

例子

eink.line(0, 0, 10, 20, 0)

eink.rect(x, y, x2, y2, colored, fill)#

缓冲区绘制矩形

参数

传入值类型

解释

int

左上顶点x坐标

int

左上顶点y坐标

int

右下顶点x坐标

int

右下顶点y坐标

int

默认是0

int

是否填充,默认是0,不填充

返回值

返回值类型

解释

nil

无返回值

例子

eink.rect(0, 0, 10, 20)
eink.rect(0, 0, 10, 20, 1) -- Filled

eink.circle(x, y, radius, colored, fill)#

缓冲区绘制圆形

参数

传入值类型

解释

int

圆心x坐标

int

圆心y坐标

int

半径

int

默认是0

int

是否填充,默认是0,不填充

返回值

返回值类型

解释

nil

无返回值

例子

eink.circle(0, 0, 10)
eink.circle(0, 0, 10, 1, 1) -- Filled

eink.qrcode(x, y, str, size)#

缓冲区绘制QRCode

参数

传入值类型

解释

int

x坐标

int

y坐标

string

二维码的内容

int

可选,显示大小,不可小于21,默认21

返回值

返回值类型

解释

nil

无返回值

例子


eink.bat(x, y, bat)#

缓冲区绘制电池

参数

传入值类型

解释

int

x坐标

int

y坐标

int

电池电压,单位毫伏

返回值

返回值类型

解释

nil

无返回值

例子


eink.weather_icon(x, y, code)#

缓冲区绘制天气图标

参数

传入值类型

解释

int

x坐标

int

y坐标

int

天气代号

返回值

返回值类型

解释

nil

无返回值

例子


eink.model(m)#

设置墨水屏驱动型号

参数

传入值类型

解释

int

型号名称, 例如 eink.model(eink.MODEL_1in54_V2)

返回值

返回值类型

解释

nil

无返回值

例子


eink.drawXbm(x, y, w, h, data)#

绘制位图

参数

传入值类型

解释

int

X坐标

int

y坐标

int

位图宽

int

位图高

int

位图数据,每一位代表一个像素

返回值

例子

-- 取模使用PCtoLCD2002软件即可
-- 在(0,0)为左上角,绘制 16x16 "今" 的位图
eink.drawXbm(0, 0, 16,16, string.char(
    0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,
    0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00
))

eink.setCtx(index)#

切换颜色画板, 适合多色墨水屏

参数

传入值类型

解释

int

颜色索引, 黑色为0, 红色为1

返回值

例子

-- 仅适合多色墨水屏, 对单色墨水屏(只有黑白)的无效
eink.setCtx(1)
-- 切换后, 所有drawXXX都会操作在指定颜色的画板