ws2812 - 幻彩灯带RGB控制器(WS2812系列)#

已适配 Air780E Air780EP

备注

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

示例

-- 本库尚在开发阶段

ws2812.create(mode, count, id)#

创建上下文

参数

传入值类型

解释

int

传输模式, 例如 ws2812.GPIO, ws2812.PWM, ws2812.SPI

int

RGB灯总个数

int

主参数id, 对于不同的模式有不同的值

返回值

返回值类型

解释

userdata

创建成功返回上下文,否则返回nil

例子

-- GPIO模式, 64个灯, 使用GPIO9
local leds = ws2812.create(ws2812.GPIO, 64, 9)
-- SPI模式, 32个灯, 使用SPI1
local leds = ws2812.create(ws2812.SPI, 32, 1)
-- PWM模式, 16个灯, 使用PWM4
local leds = ws2812.create(ws2812.PWM, 16, 4)
-- HW模式, 64个灯, 使用硬件专用实现,具体id需要对照手册
local leds = ws2812.create(ws2812.RMT, 64, 2)

-- 注意: 并非所有模块都支持以上所有模式
-- 而且, 固件需要开启对应的GPIO/SPI/PWM功能才能使用对应的模式

ws2812.set(leds,index, R, G, B)#

设置灯的颜色

参数

传入值类型

解释

userdata

通过ws2812.create获取到的上下文

int

灯的编号,从0开始

int

RGB值中的R值

int

RGB值中的G值

int

RGB值中的B值

返回值

返回值类型

解释

boolean

设置成功返回true,否则返回nil

例子

-- RGB逐个颜色传递
ws2812.set(leds, 5, 0xFF, 0xAA, 0x11)
-- 也支持一个参数传完, 与前一条等价
ws2812.set(leds, 5, 0xFFAA11)

ws2812.send(leds)#

发送数据到设备

参数

传入值类型

解释

userdata

通过ws2812.create获取到的上下文

返回值

返回值类型

解释

boolean

设置成功返回true,否则返回nil

例子

-- 没有更多参数, 发就完事了
ws2812.send(leds)

ws2812.args(leds, arg0, arg1, arg2, arg3, arg4)#

配置额外参数

参数

传入值类型

解释

userdata

通过ws2812.create获取到的上下文

int

额外参数0

int

额外参数1

int

额外参数2

int

额外参数3

int

额外参数4

返回值

返回值类型

解释

boolean

设置成功返回true,否则返回nil

例子

-- 本函数与具体模式有关

--GPIO模式可调整T0H T0L, T1H T1L 的具体延时
ws2812.send(leds, t0h, t0l, t1h, t1l)