LuatOS-SOC接口文档(air780E)--eink - 墨水屏操作库

2023-09-20 14:10:15

常量

常量

类型

解释

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_1in54r

number

1.54寸三色屏152*152

eink.MODEL_2in13

number

2.13寸

eink.MODEL_2in13bc

number

2.13寸bc

eink.MODEL_2in13d

number

2.13寸d

eink.MODEL_2in13_V2

number

2.13寸V2

eink.MODEL_2in54b_V3

number

2.13寸b_V3

eink.MODEL_2in66

number

2.66寸

eink.MODEL_2in66b

number

2.66寸b

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_3in7

number

3.7寸

eink.MODEL_4in2

number

4.2寸

eink.MODEL_4in2bc

number

4.2寸b

eink.MODEL_4in2b_V2

number

4.2寸V2

eink.MODEL_5in65f

number

5.65寸f

eink.MODEL_5in83

number

5.83寸

eink.MODEL_5in83bc

number

5.83寸bc

eink.MODEL_5in83_V2

number

5.83寸V2

eink.MODEL_5in83b_V2

number

5.83寸bV2

eink.MODEL_7in5

number

7.5寸

eink.MODEL_7in5_HD

number

7.5寸HD

eink.MODEL_7in5_V2

number

7.5寸V2

eink.MODEL_7in5bc

number

7.5寸bc

eink.MODEL_7in5b_HD

number

7.5寸b_HD

eink.MODEL_7in5b_V2

number

7.5寸b_V2

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.init(tp, args,spi_device)

eink显示屏初始化

参数

传入值类型

解释

number

eink类型,当前支持:https://wiki.luatos.com/api/eink.html#id1

table

附加参数,与具体设备有关:
pin_busy(busy)
port:spi端口,例如0,1,2…如果为device方式则为”device”
pin_dc:eink数据/命令选择引脚
pin_rst:eink复位引脚

userdata

spi设备,当port = “device”时有效

返回值

例子

-- 初始化spi0的eink.MODEL_4in2bc) 注意:eink初始化之前需要先初始化spi
spi_eink = spi.deviceSetup(0,20,0,0,8,20000000,spi.MSB,1,1)
log.info("eink.init",
eink.init(eink.MODEL_4in2bc,{port = "device",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_eink))

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,0, 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

显示大小 (注意:二维码生成大小与要显示内容和纠错等级有关,生成版本为1-40(对应 21x21 - 177x177)的不定大小,如果和设置大小不同会自动在指定的区域中间显示二维码,如二维码未显示请查看日志提示)

返回值

返回值类型

解释

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都会操作在指定颜色的画板

eink.async(index)

异步方式,使用此方式需要先 require(“sysplus”) 之后 eink.clear().wait() eink.show().wait()进行刷屏

参数

传入值类型

解释

int

1 使用异步

返回值

例子

    eink.async(1)
    spi_eink = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,1)
    eink.init(eink.MODEL_1in54,
            {port = "device",pin_dc = pin_dc, pin_busy = pin_busy,pin_rst = pin_reset},
            spi_eink)
    eink.setWin(200, 200, 0)
    sys.wait(100)
    log.info("e-paper 1.54", "Testing Go")
    eink.print(30, 20, "LuatOS-AIR780E",0x00)
    eink.show().wait()
    log.info("e-paper 1.54", "Testing End")
更多推荐

SpringCloud Ribbon--负载均衡 原理及应用实例

😀前言本篇博文是关于SpringCloudRibbon的基本介绍,希望你能够喜欢🏠个人主页:晨犀主页🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰如果文章有什么需要改进的地方还请大佬不吝赐教先

Redis快速入门及在Java中使用Redis

哈喽~大家好,这篇来看看Redis快速入门及在Java中使用Redis。🥇个人主页:个人主页​​​​​🥈系列专栏:【微服务】🥉与这篇相关的文章:SpringCloudSentinel使用SpringCloudSentinel使用_程序猿追的博客-CSDN博客SpringCloud网关GatewaySpringCl

Spring MVC 之MVC 体系结构、什么是SpringMVC

SpringMVC简介MVC体系结构三层架构MVC设计模式SpringMVC是什么?扩展知识Spring模块DataAccess/Integration(数据访问/集成)Web(网络层)AOP(面向切面)Messaging(消息传送)CoreContainer(核心容器)Test(测试层)Spring的7大优点MVC体

详细讲解什么是SpringMVC 映射请求数据

😀前言本文详细讲解什么是SpringMVC映射请求数据🏠个人主页:尘觉主页🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉在csdn获奖荣誉:🏆csdn城市之星2名⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣💓Java全栈群星计划top前5⁣⁣⁣⁣⁣⁣⁣

xss跨站脚本攻击

本文是对xss跨站脚本攻击的相关介绍,希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流1.xss定义XSS全称(CrossSiteScripting)跨站脚本攻击,XSS属于客户端攻击,受害者最终是用户,但特别要注意的是网站管理人员也属于用户之一。这就意味着XSS可以进行“服务

Java面试之SpringBoot篇

每日一面之Boot篇:讲一讲SpringBoot的自动装配吧面试是一个短时交流的过程,这个过程中包涵首因效应的管理,晕轮效应的管理,如何做好面试管理对求职者至关重要。作为Java的学者,面试题是面试官考量我们的一个基本标准,尤其是对于没有实际项目经验的大学生,本专栏专门针对一切比较常见的问题做出整理,欢迎各位投稿、订阅

three.js 入门 初识

基本步骤:初始设置创建场景创建相机创建可见对象创建渲染器渲染场景安装npminstallthree引入import*asTHREEfrom"three";一、three三要素:场景、相机、渲染1.场景://创建场景constscene=newTHREE.Scene()2.相机:OrthographicCamera正交投

【前端设计模式】之工厂模式

工厂模式特性工厂模式是一种创建对象的设计模式,它通过使用工厂类来封装对象的创建逻辑,隐藏了具体对象的实例化过程。工厂模式的主要特性包括:封装对象的创建过程:工厂模式将对象的创建过程封装在一个工厂类中,客户端只需要通过调用工厂类的方法来获取所需的对象,而无需关心具体的实例化过程。提供统一的接口:工厂模式通常会定义一个统一

BIO、NIO、AIO有什么区别

什么是IOJava中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据传输流,字符串流,对象流等等等

基于招聘网站的大数据专业相关招聘信息建模与可视化分析

需要本项目的可以私信博主!!!在大数据时代背景下,数据积累导致大数据行业的人才需求快速上升,大量的招聘信息被发布在招聘平台上。深入研究这些信息能帮助相关人士更好地理解行业动态,并对其未来发展进行预测。本文主要通过分析51job网站上的大数据职位招聘信息,进行一次可视化的呈现。本研究首先使用Python爬虫技术,抓取51

Kubernetes中Pod的扩缩容介绍

Kubernetes中Pod的扩缩容介绍在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数量的场景。此时可以利用Deployment/RC的Scale机制来完成这些工作。Kubernetes对Pod的扩缩容操作提供了手动和自动两种模式,手动模式通过执行k

热文推荐