I need to recompile web interface to make it working properly with Marlin because in the current status some things are broken due to unsupported gcode.
The command fix that I’m considering to do is the following
I don’t know if may be needed some fix also to the code that parse the response of these commands.
I would like some more details on the step to follow to compile the web interface to MksWifi_WebView.bin of the firmware as the current guide explain only the build process of the mkswifi.bin. In the repo readme there is written to run npm run build but this alone cannot work. It is also missing the description of the needed dependencies. I want to be able to generate a MksWifi_WebView.bin to place in sd to update the webinterface.
Thanks for the support.
This topic was modified 3 weeks, 6 days ago by Victor. Reason: extruder selection fix
This topic was modified 3 weeks, 4 days ago by Renzo Mischianti. Reason: Fix code format
In addition to the problem to compile webinterface files themselves to include Marlin commands patch, to get the file that should be placed in the data folder according the guide, but there isn’t any indication on to configure the toolchain to compile them (I can see that is some node project with react redux dependencies).
I have also tried to recompile it leaving the data folder untouched and following everything mentioned in the guide (using the older Arduino IDE because the mentioned SPIFFS plugin isn’t updated for the latest version) just to see what happens, and I get a compiled file named MKS_WIFI_upgrade_with_BeePrint_web_interface.bin of 375KB that is basically same size of MksWifi.bin compiled from the ino file despite webview should be around 3048KB.
Checking the MKS_WIFI_upgrade_with_BeePrint_web_interface folder structure I can see also metadata folders that aren’t of ArduinoIDE but belongs to different IDEs as Sloeber and Intellij and is unclear if one of both of them have a role in the unclear build process of MksWifi_WebView.bin file.
In all other things you have been very clear and detailed but build of MksWifi_WebView.bin is a mistery. Maybe depend by the fact I’m trying to export it to bin rather than upload directly with plugin but I cannot access the module directly as it is soldered inside the machine.
Would be very appreciated if you can explain how to do.
This reply was modified 3 weeks, 5 days ago by Victor.
This reply was modified 3 weeks, 4 days ago by Victor.
Thank you very much for the reply and for the build.
About build issues
If there is nothing else to do other than what is written in the guides so the problems I’m facing with compilation are caused by some mismatch in the toolkit versions I’m using because the webinterface refuses to compile.
What version of Node and npm packages you used to build the content of data folder?
and…The tools plugin in arduino creates only a SPIFFS image of content in data folder (so basically MksWifi_WebView.bin is just the data folder converted in SPIFFS) and then upload it, or it also combines SPIFFS image of data folder with the compiled .ino file?
About Marlin gcode firmware test
The gcode that I have posted seems that needs to be further adjusted. the problem is with multipleStatRequest that I did not understand.
In the comment it is said that M997 requests print status, but if I search
M997 in both reprap and marlin documentation it seems it is used to request in application firmware update.
M994 in marlin is reported as “Restore flash from SD”
in Reprap wiki I cannot find what this command does
you indicated M992 as printing time but in gcode documentation I see that is used for clearing the emergency stop condition.
So could you explain if you use them in some unconventional way or there is some other gcode convention used and where I can find info about these so I can better do a proper conversion?
EDIT
I have realized that multipleStatRequest contains instructions that aren’t gcode but are translated by wifi code to other commands.
This has confused me a lot, leading me to the wrong considerations that was M997 that caused the reboot of the printer because that gcode is used for the firmware in Marlin.
Now I have yet to understand what is that could cause this:
if I print a file using beeprint at the end of print the printer reboot and restart again the print of the same file,
Thanks again. I know… I have done a lot of questions =)
This reply was modified 3 weeks, 3 days ago by Victor.
This reply was modified 3 weeks, 2 days ago by Victor.
This reply was modified 3 weeks, 2 days ago by Victor.
For the “compilation” o web folder you can follow the instructions of the guide, but basically, after build the project you can launch the uploader of ArduinoIDE 1.x (now there is a version for 2.x, but I use the old one)
and you can find the file path in the console and grab It.
Basically in the temporary folder like C:\Users\renzo\AppData\Local\Temp\arduino_build_785244 you can find some file like so:
Now I have been able to compile it,
the file elimination now works
however still I cannot understand
– what could cause the annoying crash at the end of print. I have seen that another user had this problem and it has solved using another firmware version not sure if printer firmware or wifi firmware
– why the stop print doesn’t work despite the command matches the reprap one.
. why print from subfolders doesn’t work
Thank you again. I really appreciate your work, this interface is an awesome addition to any 3D printer.
Mmmm…
the Gcode output isn’t managed; the commands on documentation are wrapped from MKS WiFi firmware and do the work, not the printer board, and I don’t know as Marilin works.
Bye Renzo
I’m using Marlin 2.1.2.4 with an MKS TFT display and noticed that, just like in version 1.6, the file deletion function isn’t working. I also tried the experimental version, but it ended up breaking everything.
P.S. Thanks for the great work!
Maintaining a repository (or site or forum) is a lot like tending to a garden - it requires constant care and attention to keep it thriving. If you're a skilled gardener (or coder!) and want to help keep our repository blooming, we'd love to have you on board! We're also looking for talented writers and forum moderators to help us grow our community. Interested in joining our team? Don't hesitate to reach out and let us know how you can contribute!
Are you a fan of electronics or programming? Share your knowledge with others, write a simple tutorial or how to make a great project Contact me: share_your_ideas@mischianti.org
The content displayed on this website is protected under a CC BY-NC-ND license. Visitors are prohibited from using, redistributing, or altering any content from this website for commercial purposes, including generating revenue through advertising. Any unauthorized use is a violation of the license terms and legal action may be taken against individuals or entities found to be in violation.
You must also provide the link to the source.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.