package de.c3ma.ollo.mockup;
import org.luaj.vm2.LuaTable;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.Varargs;
import org.luaj.vm2.lib.TwoArgFunction;
import org.luaj.vm2.lib.VarArgFunction;
/**
* created at 28.12.2017 - 23:05:05
* creator: ollo
* project: WS2812Emulation
* $Id: $
* @author ollo
*/
public class ESP8266Uart extends TwoArgFunction {
@Override
public LuaValue call(LuaValue modname, LuaValue env) {
env.checkglobals();
final LuaTable uart = new LuaTable();
uart.set("setup", new setup());
env.set("uart", uart);
env.get("package").get("loaded").set("uart", uart);
return uart;
}
private class setup extends VarArgFunction {
public Varargs invoke(Varargs varargs) {
if (varargs.narg()== 6) {
System.out.println("[UART] " + varargs.arg(2) + " " + varargs.arg(3)
+ ((varargs.arg(4).checkint() > 0) ? "Y" : "N")
+ varargs.arg(5));
}
return LuaValue.valueOf(true);
}
}
}