Page 3 of 4

Re: [NodeMcu] Bugs and Issues area

PostPosted: Mon Nov 24, 2014 9:36 am
by ThomasW
scargill wrote:>> elseif pl=="YES3\n" then l3="1\n" c:send("OK\n")
>> elseif pl=="NO3\n" then l3="0\n" c:send("OK\n")
>> elseif pl=="YES4\n" then l4="1\n" c:send("OK\n")
Pete's LUA module 0.1
NodeMcu 0.9.2 build 20141124 powered by Lua 5.1.4
Loading functions
Connected to.loft-east.IP:.
This is a trivial example - yet as you can see, the interpreter is giving up before the final command - and once again rebooting.

Just a guess - the commandline interpreter in the module probably has limited resources/stack and bails out on those elseif's. Uploading the same code to a file and then executing it with "dofile()" works just fine.


Re: [NodeMcu] Bugs and Issues area

PostPosted: Mon Nov 24, 2014 9:39 am
by ThomasW
zeroday wrote:when in server mode. the conn from listen() actually is connected already.
Code: Select allsrv:listen(80,function(conn)  end)

Code: Select allsrv:on("connection",function(conn)  end)   --only MEANS this but can't execute.

But I put this event in listen().

Ah ok, so the code for directly answering a connection goes there. Thanks for the clarification!


Re: [NodeMcu] Bugs and Issues area

PostPosted: Mon Nov 24, 2014 9:47 am
by scargill
ThomasW - great minds think alike - I've just seen your response and indeed the pesky lack of RAM situation was responsible - putting it in a file did the trick.

It would be nice however if the interpreter were able to simple say "Sorry, out of RAM" instead of crashing or rebooting". Also there may be a bug? Not sure about this one..

My line that says sv=net.createServer(net.TCP, 90)

that 90 isn't doing anything - if I shut my APP down for a few minutes (ie turn the phone off) nothing happens - no message to say the connection is closed or anything. If I then after minutes, turn the phone back on - it just continues as if it had never stopped (which I might add is a darn sight better than I got out of the AT command set with it's constant "busy s..." - so this is looking like it might be going somewhere.

If anyone looking in knows how, instead of those " then c:send(L1" statements I can have the unit wait at the serial for a little while for some input and send that, I would be eternally grateful - in this application it will be an Arduino being informed of those commands.... and doing something about them - and then firing a response almost immediately back at the board...

so if (pl=="GO1\n") then c:send(l1)

in English... needs to be

if pl=="GO1\n" then send that out of the serial, wait a bit - c:send the response.. and continue as before

So the other test elseifs are not needed. Thoughts?

Re: [NodeMcu] Bugs and Issues area

PostPosted: Mon Nov 24, 2014 10:53 am
by alonewolfx2
module crash and join a bootloop when if i call removed lua file in the init.lua. is it issue? maybe it can say "cannot open xxxx.lua file".