Any software developers in here?

OK, so… simple question: Since Snapmaker Luban development is practically dead, is anyone in this community maintaining their own modified copies of Luban to deal with their own issues?

I’ve been running modified Luban for a while now to deal with things that annoy me (adjust workspace size for quickswap, bring back the enclosure “Door Detection” switch, updated CuraEngine from 5.3 to 5.5 to get better trees, and a few other minor things that nagged me), and while I have no interest in adding features or long-term maintenance of the software… I’m guessing there are other people out there doing the same, I can’t be the only one. Maybe it might be worth it to pool our patches together and put them up at github for other sw tinkerers?

You are welcome. I think most people use alternative slicer software..

Yeah, I did the same for a while. I use my 2.0 mostly for cutting/engraving, with sporadic 3D printer use and rare CNC. Most of my issues were either generic or specific to laser (and yeah, I know: lightburn). I’m a Cura guy for other printers I own, and I’ve used it to produce gcode for the SM 2.0. I do use the printing head for simple jobs though.

But the thing is… I like the concept of a 3-in-1 software for a 3-in-1 piece of kit. Luban is limited, but for beginners (and that includes my family) it’s pretty good; it’s just the weird behaviors that annoy the heck out of me, and I got tired of reminding my daughter of basic stuff like “remember the Y size can’t be over 335 and you can’t put stuff at the top”. Or “Send an M1010 S11 if you need to work a long piece and need the door open”. It’s dumb, this stuff should be trivially done or automatable.

I forked it, and cloned it locally, but I’ve never tried to build it. I mostly read the code when weird corner cases get posted here, and I want to see how particular G Codes are implemented.

I also have a working copy that I’ve only looked at. But what I was more interested in than Luban is the controller and module code. Has anyone found a way of debugging it?

There’s a lot you can find out through G Code commands, including module hardware details. Is there a G Code reference that actually includes everything? There are plenty of commands that I haven’t seen outside the code. What motivated me was trying to find a way to troubleshoot modules, after the enclosure stopped responding. Maybe get a log of CAN bus traffic during startup.

For which machine you want the Controller code?

The Firmware for the snapmaker 2 is here:

I got the Firmware of the artisan when I asked for that. Running also my own artisan Firmware which skips some ugly steps in calibration and startup procedures.

I was not able to get the certificate for the HMI App and my custom ones are not excepted by the maschine. Claude thinks this is related to wrong signing cert. If one of you was able to deploy an own App, please contact me via PM.

I’m running the 2.0, but I just got an artisan that I haven’t taken out of the box yet. I have the 2.0 code, and I’ve looked through it. I found things like debug output levels, but not how to change them, or where you’d see the diagnostic output. I see a buildroot configuration (is that actually running?), but not dropbear or something that would give you a cli. Is there a way to run the firmware in gdb, or other ways to see what’s going on under the hood?

Oh, I did not tried to understand the code.

I had just used Claude to get summarization and do my changes. Although I am a Software engineer, I do not have to for such things in my private time.

Well… For those that still use Luban, my modified version can be found at Release Luban (modified) v4.15.7 · rmcc/Luban · GitHub . I’m curious as to whether the dual extruder still works, so if anyone gives it a go please let me know :smiley:

The CuraEngine is just for 3D printing, not CNC, right? If so, do you happen to know what the CNC equivalent is? There have been some annoying behaviors that I fixed by hand editing the G-code generated by Luban. Fixing them at the source would be better. I might try it.

Yeah, the CuraEngine-based LunarSlicer is for 3D only. Luban uses 3 helpers for gcode management: LunarSlicer (3D slicer), LunarMP (model checking/repairing/simplifying) and LunarTPP (for toolpaths).

CNC slicing (and laser toolpath generation) are done by LunarTPP… and there’s no source code for that one ( LunarTPP Source? · Issue #17 · Snapmaker/LunarMP · GitHub )