Fix missing return code for ws2812_init() (#1816)
This commit is contained in:
parent
b382a42057
commit
8931f09ce4
|
@ -27,7 +27,7 @@ typedef struct {
|
||||||
// Init UART1 to be able to stream WS2812 data to GPIO2 pin
|
// Init UART1 to be able to stream WS2812 data to GPIO2 pin
|
||||||
// If DUAL mode is selected, init UART0 to stream to TXD0 as well
|
// If DUAL mode is selected, init UART0 to stream to TXD0 as well
|
||||||
// You HAVE to redirect LUA's output somewhere else
|
// You HAVE to redirect LUA's output somewhere else
|
||||||
static void ws2812_init(lua_State* L) {
|
static int ws2812_init(lua_State* L) {
|
||||||
const int mode = luaL_optinteger(L, 1, MODE_SINGLE);
|
const int mode = luaL_optinteger(L, 1, MODE_SINGLE);
|
||||||
luaL_argcheck(L, mode == MODE_SINGLE || mode == MODE_DUAL, 1, "ws2812.SINGLE or ws2812.DUAL expected");
|
luaL_argcheck(L, mode == MODE_SINGLE || mode == MODE_DUAL, 1, "ws2812.SINGLE or ws2812.DUAL expected");
|
||||||
|
|
||||||
|
@ -57,6 +57,8 @@ static void ws2812_init(lua_State* L) {
|
||||||
GPIO_REG_WRITE(GPIO_ENABLE_W1TC_ADDRESS, BIT2);
|
GPIO_REG_WRITE(GPIO_ENABLE_W1TC_ADDRESS, BIT2);
|
||||||
// Enable Function 2 for GPIO2 (U1TXD)
|
// Enable Function 2 for GPIO2 (U1TXD)
|
||||||
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_U1TXD_BK);
|
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_U1TXD_BK);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stream data using UART1 routed to GPIO2
|
// Stream data using UART1 routed to GPIO2
|
||||||
|
|
|
@ -15,14 +15,17 @@ through the serial port (it will be reconfigured to support WS2812-like
|
||||||
protocol). If you want to keep access to Lua's console, you will have to
|
protocol). If you want to keep access to Lua's console, you will have to
|
||||||
use an other input channel like a TCP server (see [example](https://github.com/nodemcu/nodemcu-firmware/blob/master/examples/telnet.lua))
|
use an other input channel like a TCP server (see [example](https://github.com/nodemcu/nodemcu-firmware/blob/master/examples/telnet.lua))
|
||||||
|
|
||||||
## ws2812.init(mode)
|
## ws2812.init()
|
||||||
Initialize UART1 and GPIO2, should be called once and before write().
|
Initialize UART1 and GPIO2, should be called once and before write().
|
||||||
Initialize UART0 (TXD0) too if `ws2812.MODE_DUAL` is set.
|
Initialize UART0 (TXD0) too if `ws2812.MODE_DUAL` is set.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`ws2812.init([mode])`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `mode` (optional) either `ws2812.MODE_SINGLE` (default if omitted) or `ws2812.MODE_DUAL`.
|
- `mode` (optional) either `ws2812.MODE_SINGLE` (default if omitted) or `ws2812.MODE_DUAL`
|
||||||
In `ws2812.MODE_DUAL` mode you will be able to handle two strips in parallel but will lose access
|
|
||||||
to Lua's serial console as it shares the same UART and PIN.
|
In `ws2812.MODE_DUAL` mode you will be able to handle two strips in parallel but will lose access to Lua's serial console as it shares the same UART and PIN.
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
`nil`
|
`nil`
|
||||||
|
|
Loading…
Reference in New Issue