You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey, this tool looks amazing! I'm doing a small research about upgrading my current dev tooling around NodeMCU development.
I used to use ESPlorer, but I'm looking for a more convenient and automated way of uploading and executing scripts on my ESPs. Recently I faced an issue with hight ram usage, due to runtime compilation of '*.lua' files. Due to docs, it is possible to compile source files on PC, before uploading them to ESP. It should save a lot of RAM which is being used to compile files to byte code.
Feature Request
Compiling the code is not yet supported by this tool. Of course, I can first compile the files using luac.cross and then upload them with NodeMCU-Tool, but It would be more convenient to have this feature built-in.
We could introduce an additional params -c and --compiler to upload command that would be used to point luac.cross binary. Then the tool could use this binary to compile provided *.lua files before upload. But it would require checking the files extensions first and might not be intuitive for users.
Another option is to add a new command, e.g compile-upload with -c and --compiler params that would be only for *.lua sources. But this has a drawback, that some users might want to upload not only the *.lua files.
Some users might want to pass additional params to the compiler. E.g. it is possible to build one *.img from many *.lua source files. But it would not fit into any of the above options since we are changing the files that would be uploaded (before we had to just rename them from *.lua to *.lc).
So there is one more possibility. Provide a wrapper over luac.cross that would take a list of files and compile them, and then print paths to files to stdout. Then we could pipe compile and upload
using xargs e.g node-tool compile -c [compiler path] file.lua file2.lua | xargs node-tool upload.
It could be used in both scenarios, meaning whether the user wants to bundle files into an image or not.
Current solution
I found out that there is an option to compile a file on ESP, but if the file is too big it will run out of memory. However, the message is still success. I will open another issue for that.
Compiling on PC will allow handling bigger files and have more source code on ESP.
The text was updated successfully, but these errors were encountered:
the main issue with such feature is that most nodemcu users are not able to install/setup a full toolchain (which is also platform depended) - therefore i've given up this idea a long time ago.
currently i didn't have any time to implement this (or a similar) feature...sry
I'm totally fine with that. This feature could be usefull for more advance ppl. Regular users might not have to use it.
And I forgot to mention that I would be happy to contribute! Let me know if you see a place for that kind of feature in this library. If we establish an API for this I can give i a try :D
Background
Hey, this tool looks amazing! I'm doing a small research about upgrading my current dev tooling around NodeMCU development.
I used to use ESPlorer, but I'm looking for a more convenient and automated way of uploading and executing scripts on my ESPs. Recently I faced an issue with hight ram usage, due to runtime compilation of '*.lua' files. Due to docs, it is possible to compile source files on PC, before uploading them to ESP. It should save a lot of RAM which is being used to compile files to byte code.
Feature Request
Compiling the code is not yet supported by this tool. Of course, I can first compile the files using
luac.cross
and then upload them withNodeMCU-Tool
, but It would be more convenient to have this feature built-in.We could introduce an additional params
-c
and--compiler
toupload
command that would be used to pointluac.cross
binary. Then the tool could use this binary to compile provided*.lua
files before upload. But it would require checking the files extensions first and might not be intuitive for users.Another option is to add a new command, e.g
compile-upload
with-c
and--compiler
params that would be only for*.lua
sources. But this has a drawback, that some users might want to upload not only the*.lua
files.Some users might want to pass additional params to the compiler. E.g. it is possible to build one
*.img
from many*.lua
source files. But it would not fit into any of the above options since we are changing the files that would be uploaded (before we had to just rename them from*.lua
to*.lc
).So there is one more possibility. Provide a wrapper over
luac.cross
that would take a list of files and compile them, and then print paths to files to stdout. Then we could pipecompile
andupload
using
xargs
e.gnode-tool compile -c [compiler path] file.lua file2.lua | xargs node-tool upload
.It could be used in both scenarios, meaning whether the user wants to bundle files into an image or not.
Current solution
I found out that there is an option to compile a file on ESP, but if the file is too big it will run out of memory. However, the message is still
success
. I will open another issue for that.Compiling on PC will allow handling bigger files and have more source code on ESP.
The text was updated successfully, but these errors were encountered: